Spark on yarn使vcores可以使用多个生效(已解决)

问题描述:

配置一个yarn的container可以使用多个vcores,因为capacity schedule使用的是DefaultResourceCalculator,那么DefaultResourceCalculator它在加载Container时其实仅仅只会考虑内存而不考虑vcores,默认vcore就是1。

yarn 默认情况下,只根据内存调度资源,所以 spark on yarn 运行的时候,即使通过–executor-cores 指定 core 个数为 N,但是在 yarn 的资源管理页面上看到使用的 vcore 个数还是 1。

解决方法:

修改${HADOOP_HOME}/etc/hadoop/capacity-scheduler.xml

---------

<property>
    <name>yarn.scheduler.capacity.resource-calculator</name>
    <!--
      <value>org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator</value>
    -->
    <value>org.apache.hadoop.yarn.util.resource.DominantResourceCalculator</value>
</property>

重启hadoop集群使其配置生效即可!


版权声明:本文为lukabruce原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。