在 Zeppelin 上增加 Spark Executors

Posted

技术标签:

【中文标题】在 Zeppelin 上增加 Spark Executors【英文标题】:Increase Spark Executors on Zeppelin 【发布时间】:2016-09-05 09:57:48 【问题描述】:

我正在使用 Hortnworks (HDP 2.4) 设置集群。我有一个 4 个节点集群,每个集群都有(16Gb-RAM,8 个 CPU)。为了使用 python (pyspark),我还安装了 Spark 和 Zeppelin Notebook。

我的问题是:我从 3 个节点的配置开始,后来我添加了另一个新节点(如前所述总共 4 个),无论如何 Spark 上的执行器数量仍然是“3”。

我在网上看到执行器的数量可以在SPARK_EXECUTOR_INSTANCES 中设置,但是这个参数只存在于Ambari UI 中Spark 配置页面的spark-env template 中。似乎它要求 YARN 关于执行者的决定,但在 YARN 中我没有找到任何关于此的信息。

确切地说,如何使用 Ambari 增加 Hortonworks Hadoop 集群中的执行程序数量?

【问题讨论】:

你在使用 Spark 和 YARN 集群管理器 我认为是的...如何检查此配置? 您可以通过两种方式将“spark.dynamicAllocation.enabled”设置为 true 或将执行程序实例的数量“spark.executor.instances”设置为您想要的某个数字 在哪里可以找到这些选项?如前所述,我仅在“spark-env 模板”中看到它们,并且该模板表示这些选项是在 YARN 客户端模式下读取的。 【参考方案1】:

Pietro,你可以在 Zeppelin 上更改它。

在右上角,打开菜单,进入“解释器”配置。

有一个部分,称为“口译员”。最后一个小节称为“spark”,您应该在那里找到此设置。

如果不是,只需插入它,编辑小节。

希望对您有所帮助。

【讨论】:

它的属性是什么? (我只看到核心最大值和内存) Thomas Decaux,如果您使用动态分配,您可以选择spark.dynamicAllocation.maxExecutors,如documentation 所示。这将设置执行者的最大数量。执行者的初始数量为spark.dynamicAllocation.initialExecutors,最小为spark.dynamicAllocation.minExecutors。如果您不想使用spark.dynamicAllocation,您还可以设置spark.executor.instances(作为--num-executors 的替代)。 谢谢,我没有注意到我们可以在这里添加 Spark 属性!【参考方案2】:

从右上角,单击向下箭头->单击解释器->找到spark2解释器->编辑它->添加以下两个:

spark.shuffle.service.enabled -> 真 spark.dynamicAllocation.enabled -> 真

【讨论】:

以上是关于在 Zeppelin 上增加 Spark Executors的主要内容,如果未能解决你的问题,请参考以下文章

使用 zeppelin 在 kubernetes 上运行 Spark

使用 Spark 配置 Apache Zeppelin

在 kubernetes 上使用 zeppelin 公开 spark-ui

在 HDP 2.6 上运行的 Zeppelin 0.7.0 上的 Spark2.2 解释器

sh 在EC2上安装Spark + Zeppelin

如何在现有的 Apache Spark 独立集群上安装 Apache Zeppelin