2015-10-28 1 views
0

Je souhaite exécuter un travail Sqoop avec 100 mappeurs ("-m 100"), ce qui permet de répartir les données dans 100 partitions. À tout moment, je veux limiter le nombre de mappeurs en cours à 10. Quelle est la propriété de faire cela?Limitation du nombre de mappeurs simultanés dans Sqoop

Ce qui suit ne fonctionne pas -

-D mapreduce.job.running.map.limit=10 
-D mapred.tasktracker.map.tasks.maximum=10 
-D mapreduce.job.maps=10 
-D yarn.nodemanager.resource.cpu-vcores=10 
+0

Il est possible d'utiliser 'org.apache.sqoop.repository.jdbc.maximum.connections = 10' dans sqoop.properties –

Répondre

-1

Fair Scheduler peut être utilisé pour limiter le nombre de tâches de carte simultanées dans un emploi.

Ajouter le planificateur juste à la classe path.Then définir la propriété suivante dans mapred-site.xml

<property> 
    <name>mapred.jobtracker.taskScheduler</name> 
    <value>org.apache.hadoop.mapred.FairScheduler</value> 
</property> 

La configuration du planificateur juste sera disponible dans deux fichiers. mapred-site.xml prend en charge les paramètres de l'algorithme et fair-scheduler.xml prend en charge la configuration de la piscine, en cours d'exécution limites d'emploi, etc

maxMaps et maxReduces nous aidera à définir les créneaux horaires de travail simultanées au maximum.

+0

Je vois que ' mapreduce.jobtracker.taskscheduler = org.apache.hadoop.mapred.JobQueueTaskScheduler yarn.resourcemanager.scheduler.class = org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler' –