Hadoop 限制Sqoop中并发映射程序的数量

Hadoop 限制Sqoop中并发映射程序的数量,hadoop,yarn,sqoop,mapper,Hadoop,Yarn,Sqoop,Mapper,我想用100个映射器运行一个Sqoop作业-m100-这将把数据分布到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 公平调度程序可用

我想用100个映射器运行一个Sqoop作业-m100-这将把数据分布到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
公平调度程序可用于限制作业中并发映射任务的数量

将公平调度程序添加到类路径。然后在mapred-site.xml中设置以下属性

<property>
  <name>mapred.jobtracker.taskScheduler</name>
  <value>org.apache.hadoop.mapred.FairScheduler</value>
</property>
公平调度程序的配置将在两个文件中提供。mapred-site.xml负责算法参数,fair-scheduler.xml负责池配置、运行作业限制等


maxMaps和maxReduces将帮助我们设置最大并发任务槽。

我看到mapreduce.jobtracker.taskscheduler=org.apache.hadoop.mapred.JobQueueTaskScheduler.resourcemanager.scheduler.class=org.apache.hadoop.warn.server.resourcemanager.scheduler.fair.fairscheduler有可能使用sqoop.properties中的org.apache.sqoop.repository.jdbc.maximum.connections=10