2017-03-03 1 views
0

J'utilise AWS EMR pour exécuter un travail de réduction de mappage. Mon jeu d'entrée contient 1 million de fichiers d'environ 15 Ko chacun. Puisque les fichiers d'entrée sont très petits, cela conduira à un grand nombre de mappeurs. Donc, j'ai changé la taille du bloc s3 à 20KB et utilisé 5 instances r3.2xlarge mais le nombre de tâches simultanées en cours est toujours de 30. Le travail ne devrait-il pas exécuter plus de mappeurs simultanés après réduction de la taille du bloc ou même après réduction de la taille du bloc , la mémoire prise par chaque mappeur est toujours la même? Comment puis-je limiter l'utilisation de la mémoire de chaque mappeur ou augmenter le nombre de tâches de mappeur simultanées? Le temps d'achèvement prévu actuel est de 100 heures, va combiner ces fichiers à un plus petit nombre de fichiers plus gros, comme les fichiers de 400 Mo, augmenter le temps de traitement?MapReduce: Augmenter le nombre de tâches de mappeur simultanées

Répondre

0

Réduire la taille bloc peut augmenter le nombre de cartographes requis pour un travail particulier, mais ne sera pas augmenter le nombre parallèle de cartographes que votre cluster peut fonctionner à un moment donné, ni la mémoire utilisé pour ces cartographes.

utilisé 5 instances r3.2xlarge mais le nombre de tâches simultanées en cours d'exécution est encore seulement 30

Pour trouver les cartes parallèles/Reducers qu'un Hadoop 2 groupe DME peut prendre en charge, s'il vous plaît voir cet article AWS EMR Parallel Mappers?

Ex: r3.2xlarge * 5 de base:

mapreduce.map.memory.mb 3392 3392 
yarn.scheduler.maximum-allocation-mb 54272 
yarn.nodemanager.resource.memory-mb  54272 

Une fois le core-node peut avoir 54272/3392 = 16 mappeurs. Ainsi, un cluster peut avoir un total de 16 * 5 = 80 mappeurs en parallèle. Donc, si votre travail tourne comme 1000 mappeurs, cluster peut lancer 80 mappeurs avec cette mémoire préconfigurée et tas sur vos nœuds et d'autres mappeurs seront simplement mis en file d'attente.

Si vous voulez plus de mappeurs parallèles, vous pouvez configurer moins de mémoire (sur la base de ce calcul) et moins de tas pour le mappeur.