Apache spark spark如何选择节点来运行执行器?(纱线上的spark)

Apache spark spark如何选择节点来运行执行器?(纱线上的spark),apache-spark,Apache Spark,spark如何选择节点来运行执行器?(纱线上的spark) 我们使用纱线上的火花模式,具有120个节点的集群。 昨天,one spark作业创建了200个执行者,而node1上有11个执行者, 节点2上有10个执行器,其他执行器平均分布在其他节点上 由于node1和node2上的执行器太多,因此作业运行缓慢 spark如何选择要运行执行器的节点? 根据Thread resourceManager?群集管理器跨其他应用程序分配资源。 我认为问题在于优化配置不好。您需要在动态分配上配置Spark。在

spark如何选择节点来运行执行器?(纱线上的spark) 我们使用纱线上的火花模式,具有120个节点的集群。 昨天,one spark作业创建了200个执行者,而node1上有11个执行者, 节点2上有10个执行器,其他执行器平均分布在其他节点上

由于node1和node2上的执行器太多,因此作业运行缓慢

spark如何选择要运行执行器的节点?
根据Thread resourceManager?

群集管理器跨其他应用程序分配资源。 我认为问题在于优化配置不好。您需要在动态分配上配置Spark。在这种情况下,Spark将分析集群资源并添加更改以优化工作


您可以在此处找到有关Spark资源分配以及如何配置它的所有信息:

正如您提到的Spark on Thread:
纱线服务根据集群资源的可用性为spark作业选择执行器节点。请检查排队系统和纱线的动态分配。最好的文档是所有120个节点都具有相同的容量吗

此外,作业将根据节点管理器的运行状况和资源可用性提交给合适的节点管理器


为了优化spark作业,您可以使用动态资源分配,在这种情况下,您不需要定义运行作业所需的执行器数量。默认情况下,它使用配置的最小cpu和内存运行应用程序。之后,它从集群获取资源以执行任务。作业完成后,如果作业空闲到配置的空闲超时值,它将向群集管理器释放资源。一旦集群再次启动,它就会从集群中回收资源。

thx。那么集装箱的分配是由纱线控制的?@MengQi是的,你是对的!请把我的答案写在上面