将值重置为配置“spark.executor.instances”

njthzxwz  于 2021-05-27  发布在  Spark
关注(0)|答案(2)|浏览(1106)

我们有一个Yarn集群,我们使用spark 2.3.2版本。我想在提交spark应用程序时使用spark的动态资源分配,但是在spark-defaults.conf文件中,属性的值 spark.executor.instances 设置为16。据我所知,我不应该 spark.executor.instances 如果我们想使用动态资源分配。否则,即使启用了动态资源分配,也会被属性覆盖 spark.executor.instances .
我无法编辑spark-defaults.conf,所以我想重置分配给的值 spark.executor.instances 通过 --conf 要提交的参数。我尝试将其设置为空白或0,但在这两种情况下,作业都失败了 spark.executor.instances 应该是正数。
在这种情况下,如何成功地使用spark的动态资源分配?。
另一个观察是,我没有看到spark-defaults.conf文件中启用了动态资源分配。它不是spark 2.0以来的默认属性吗?。

798qvoo8

798qvoo81#

无法重置配置 spark.executor.instances . 如果启用了动态资源分配以及 spark.executor.instances ,然后是参数 spark.executor.instances 用于计算所需执行者的初始数目 initial executors = max(spark.executor.instances,spark.dynamicAllocation.initialExecutors,spark.dynamicAllocation.minExecutors) 只要我们设定 spark.dynamicAllocation.initialExecutors 或者 spark.dynamicAllocation.minExecutors 超过 spark.executor.instances ,配置 spark.executor.instances 对动态资源分配没有任何影响。

xdnvmnnf

xdnvmnnf2#

在这里阅读动态分配
https://dzone.com/articles/spark-dynamic-allocation
这将给你一个简单的工作原理。

相关问题