我想知道在mesos上每个节点只能有一个执行器是不是真的?
上下文我正在一个由5个节点(worker)组成的集群上运行spark submit(spark2.0.1)作业,每个节点在粗粒度模式下有80cpu和512gb内存。
在mesos运行模式部分的spark running spark on mesos的官方文档中说,在粗粒度模式(默认)下,我可以设置两个参数: spark.executor.memory
, spark.executor.cores
然后呢 spark.cores.max/spark.executor.cores
会给我遗嘱执行人的数目。
这个问题对不对?
我已经用spark提交设置玩了一个星期了,我能在集群上获得的最大执行者数量是5个(1个用于驱动程序,4个用于实际工作)。这基于spark ui中的executors选项卡。
我看到过这个问题:理解mesos上spark jobs的资源分配,这里说:
在粗粒度模式下,spark只为每个主机启动一个执行器
在掌握ApacheSparkschedulers的mesos部分中,它说
在粗粒度模式下,每个mesos执行器有一个spark执行器,其中包含许多spark任务。
我不明白这是什么意思。每个节点总是只有一个mesos\u执行器,这意味着每个节点只有一个spark\u执行器吗?
如果这一切都不是真的,我可以有更多的遗嘱执行人。
问题是有一些中观的设置,限制了遗嘱执行人的数量?
1条答案
按热度按时间piv4azn71#
这不再是真的了。spark-5095支持以粗粒度Mesos模式发射多个Mesos执行器的问题已在spark 2.0中解决,并根据合并的pr:
这个pr实现了两个高级特性。这两个功能是相互依赖的,因此它们都在这里实现:
mesos支持spark.executor.cores
每个从机有多个执行器