我想用100个映射器("-m 100")运行一个Sqoop作业,这将把数据分布到100个分区中。在任何时间点,我都希望将同时运行的映射器数量限制为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
Fair Scheduler
可用于限制作业中并发映射任务的数量。
将公平调度程序添加到类路径。然后在mapred-site.xml 中设置以下属性
<property>
<name>mapred.jobtracker.taskScheduler</name>
<value>org.apache.hadoop.mapred.FairScheduler</value>
</property>
公平调度程序的配置将在两个文件中提供。mapred-site.xml
负责算法参数,fair-scheduler.xml
负责池配置、运行作业限制等
CCD_ 4和CCD_ 5将帮助我们设置最大并发任务时隙。