TL; DR
Spark UI显示的核心和内存数量不同于我在使用spark-submit时所要求的数量
更多细节:
我在独立模式下运行Spark 1.6.当我运行spark-submit时,我传递了1个执行器实例,其中1个核心用于执行程序,还有1个核心用于驱动程序.我期望发生的是我的应用程序将运行总共2个核心.当我检查UI上的环境选项卡时,我看到它收到了我给它的正确参数,但它看起来仍然使用不同数量的核心.你可以在这里看到它:
这是我正在使用的spark-defaults.conf:
spark.executor.memory 5g
spark.executor.cores 1
spark.executor.instances 1
spark.driver.cores 1
Run Code Online (Sandbox Code Playgroud)
检查Spark UI上的环境选项卡显示这些确实是接收到的参数,但UI仍显示其他内容
有没有人知道什么可能导致Spark使用不同数量的内核而不是我想传递它?我显然尝试使用谷歌搜索,但没有找到任何有用的主题
提前致谢
TL; DR
使用spark.cores.max而不是定义可用的内核总数,从而限制执行人的数量.
在独立模式下,使用贪婪策略,并且将创建尽可能多的执行程序,因为您的工作人员可以使用核心和内存.
在您的情况下,您为每个执行程序指定了1个内核和5GB内存.以下内容将由Spark计算:
Spark基本上满足了你的要求.为了实现您的目标,您可以使用此处spark.cores.max记录的选项并指定所需的确切核心数.
一些旁注:
spark.executor.instances 是仅YARN配置spark.driver.memory 默认为1核心我也在努力简化独立模式下执行程序数量的概念,这可能会集成到Spark的下一个版本中,并希望能够准确地确定您将拥有的执行程序的数量,而无需在走.
| 归档时间: |
|
| 查看次数: |
1011 次 |
| 最近记录: |