如何控制在纱线客户端模式下运行的执行程序数量



我有一个5个节点的Hadoop集群,其中Spark以yarn-client模式运行。

我使用--num-executors作为执行者的数目。我能找到的最多的遗嘱执行人是20人。即使我指定更多,我也只能得到20个执行人。

是否有可分配的执行器数量的上限?它是一种配置还是基于可用资源做出的决策?

显然您的20个正在运行的执行程序消耗了所有可用内存。你可以尝试用spark.executor.memory参数减少Executor内存,这应该为其他Executor留下更多的地方。

另外,您确定您正确地设置了执行者编号吗?您可以通过查看environment选项卡中的spark.executor.instances值,从Spark UI视图验证您的环境设置。

EDIT:正如Mateusz Dymczyk在评论中指出的那样,有限的执行器数量不仅可能是由于RAM内存过度使用造成的,也可能是CPU内核造成的。在这两种情况下,限制都来自资源管理器。

相关内容

  • 没有找到相关文章

最新更新