在 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
在 kubernetes 上使用 zeppelin 公开 spark-ui