【问题标题】:Spark: Spark UI not reflecting the right executor countSpark:Spark UI 未反映正确的执行程序计数
【发布时间】:2017-01-31 16:45:09
【问题描述】:

我们正在运行一个 spark 流应用程序,我们希望增加 spark 使用的执行器数量 ....so 更新 spark-default.conf 增加 spark.executor.instances2840 但变化并未反映在 UI 中

1 Master/Driver Node : 
  Memory :24GB Cores :8 

4 Worker Nodes : 
  Memory :24GB Cores :8

spark.streaming.backpressure.enabled     true
spark.streaming.stopGracefullyOnShutdown true
spark.executor.instances                 28
spark.executor.memory                    2560MB
spark.executor.cores                     4
spark.driver.memory                      3G
spark.driver.cores                       1

注意:重新启动 spark start-master.sh 和 start-slaves.sh 但没有变化。在这方面的任何帮助将不胜感激。这是 yarn-site.xml

<configuration>

    <!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hdfs-name-node</value>
    </property>

    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>22528</value>
    </property>

    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>7</value>
    </property>

    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>22528</value>
    </property>

    <property>
        <name>yarn.nodemanager.local-dirs</name>
        <value>file:///tmp/hadoop/data/nm-local-dir,file:///tmp/hadoop/data/nm-local-dir/filecache,file:///tmp/hadoop/data/nm-local-dir/usercache</value>
    </property>

    <property>
        <name>yarn.nodemanager.localizer.cache.cleanup.interval-ms</name>
        <value>500</value>
    </property>

    <property>
         <name>yarn.nodemanager.localizer.cache.target-size-mb</name>
         <value>512</value>
    </property>

    </configuration>

【问题讨论】:

  • 您是否尝试在代码中进行设置,例如:val conf = new SparkConf(); conf.set("spark.executor.instances", "40");val sparkSession = SparkSession.config(conf).getOrCreate();
  • Executer 实例取决于集群中可用的 CPU 内核。您的集群中有多少可用的免费核心?
  • 集群核心和 RAM 的整体资源是多少?
  • @mrsrinivas 已将集群信息添加到问题中,请查看
  • @FaigB 将集群上的总体资源添加到问题中,请查看

标签: hadoop apache-spark spark-streaming hadoop-yarn hadoop2


【解决方案1】:

yarn-site 配置为每个节点分配 7 个核心,因此总体而言您有 35 个核心,这意味着您最多可以使用 1 个核心(驱动程序为 1 个核心)运行 34 个执行器。

【讨论】:

  • 在我们拥有的 5 个节点中,一个是主节点,其余 4 个节点是工作节点(4*7 = 28)?..所以我们可以考虑主核心...我认为没有工作在master上完成..只有工人才能完成工作..这使得我们可以使用的核心数量只有28个?如果我的假设有误,请纠正我
  • 部署在由yarn管理的yarn集群资源控制上,如果提到的节点包含在集群中,那么它的资源也将被共享。
猜你喜欢
  • 2017-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-10
  • 1970-01-01
  • 1970-01-01
  • 2016-12-15
  • 1970-01-01
相关资源
最近更新 更多