spark群集有2个工作节点。节点1:64 gb,8核。节点2:64 gb,8核。
现在,如果我在集群模式下使用spark submit提交一个spark作业,其中有2个执行器,每个执行器内存为32gb,4核/执行器。现在我的问题是,由于上面的配置可以容纳在一个节点本身,spark会使用2个工作节点还是只在一个节点上运行它?
另外,如果一个配置没有多个核心作为执行器,那么为每个执行器分配多少个核心?示例:如果排除Yarndeamon的一个核心后,节点中可用的核心数为7。因为有2个节点,所以2*7=14(总的可用核心数),如果每个执行器的核心数是5,那么hdfs提供了很好的吞吐量。。现在14/5的时间来计算遗嘱执行人的数目。我应该把14/5看作2或3个exeutor吗?那么这些核心是如何平均分布的呢?
1条答案
按热度按时间4dbbbstv1#
这更像是一个资源管理器的问题,而不是Spark的问题,但在您的情况下,2个执行器不能在一台机器上运行,因为操作系统的开销至少使用1核和1gb ram,即使您将ram设置为30GB和3核/执行器。它们将在不同的节点上运行,因为spark试图获得最佳的数据位置,所以很明显它不会对两个执行器使用同一个节点。