EMR集群中CORE节点上的执行程序

时间:2017-05-03 14:03:00

标签: yarn emr

在EMR集群中,我有1个MASTER,1个CORE和4个TASK节点。似乎YARN不仅在TASK节点上创建CPU绑定SPARK执行器,而且在CORE节点上创建CPU绑定SPARK执行器。是否有任何阻止它的选项(如'yarn.app.mapreduce.am.labels'指示YARN仅在MASTER或CORE上创建APP MANAGER)。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您可以使用以下两种方法来防止在核心节点上启动执行程序容器:

  • 在EMR中,核心节点将纱线节点标签“ CORE”作为非专有分区。由于核心节点是非排他性分区,因此可以在此处启动另一个容器。为了防止在核心节点上启动执行程序容器,可以将其设置为“专有”分区。

    有两种类型的节点分区:

    独占:容器将分配给节点分区完全匹配的节点。 (例如,将Asking partition =“ x”分配给具有partition =“ x”的节点,将DEFAULT分区分配给DEFAULT分区节点。)

    非排他性:如果分区是非排他性的,它将与请求DEFAULT分区的容器共享空闲资源。

    来源:https://hadoop.apache.org/docs/r2.7.3/hadoop-yarn/hadoop-yarn-site/NodeLabel.html
    您还可以在此处找到如何添加或修改节点标签。

  • 另一种处理方法是将纱线节点标签分配给所有任务节点为“任务”,并在spark Submit命令中使用以下配置。

        spark.yarn.am.nodeLabelExpressio='CORE'
        spark.yarn.executor.nodeLabelExpression='TASK'
相关问题