在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,FairS cheduler。
默认Capacity Scheduler。
使用capacity调度器,如果我们的capacity schedule使用的是DefaultResourceCalculator,那么DefaultResourceCalculator它在加载container时其实仅仅只会考虑内存而不考虑cores。所以,如果我们想让它既考虑内存也考虑cores的话,需要将$HADOOP_HOME/etc/hadoop/capacity-scheduler.xml
中的:
<property>
<name>yarn.scheduler.capacity.resource-calculator</name>
<value>org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator</value>
</property>
修改为:
<property>
<name>yarn.scheduler.capacity.resource-calculator</name>
<value>org.apache.hadoop.yarn.util.resource.DominantResourceCalculator</value>
</property>
请注意每个节点的配置文件都需要修改。并且重启hadoop。
使用Fair调度器无需修改此配置。
网友评论