我想用100个Map器(“-m100”)运行一个sqoop作业—这将把数据分布到100个分区中。在任何时候,我都希望将同时运行的Map程序的数量限制为10个。物业怎么办?以下操作不起作用-
-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
f0ofjuux1#
Fair Scheduler 可用于限制作业中并发Map任务的数量。将公平调度程序添加到类路径。然后在mapred-site.xml中设置以下属性
Fair Scheduler
<property> <name>mapred.jobtracker.taskScheduler</name> <value>org.apache.hadoop.mapred.FairScheduler</value> </property>
公平调度程序的配置将在两个文件中提供。 mapred-site.xml 处理算法参数和 fair-scheduler.xml 负责池配置、运行作业限制等 maxMaps 以及 maxReduces 将帮助我们设置最大并发任务槽。
mapred-site.xml
fair-scheduler.xml
maxMaps
maxReduces
1条答案
按热度按时间f0ofjuux1#
Fair Scheduler
可用于限制作业中并发Map任务的数量。将公平调度程序添加到类路径。然后在mapred-site.xml中设置以下属性
公平调度程序的配置将在两个文件中提供。
mapred-site.xml
处理算法参数和fair-scheduler.xml
负责池配置、运行作业限制等maxMaps
以及maxReduces
将帮助我们设置最大并发任务槽。