我有这样的spark-defaults.conf配置。 我的节点有32Gb RAM。 8个核心。 我计划使用16gb和4名工人,每人使用1个核心。
SPARK_WORKER_MEMORY=16g
SPARK_PUBLIC_DNS=vodip-dt-a4d.ula.comcast.net
SPARK_WORKER_CORES=4
SPARK_WORKER_INSTANCES=4
SPARK_DAEMON_MEMORY=1g
当我尝试启动主人并且像这样工作时,只有一名工人正在开始工作,我期待着4名工人。
start-master.sh --properties-file /app/spark/spark-1.6.1-bin-hadoop2.6/conf/ha.conf
start-slaves.sh
这些命令启动了主人并显示他们正在启动4个工作,因为只有1个工人被启动。
开始使用全部4个核心的一名工作人员。 请让我知道为什么我的其他3个工作没有开始。
答案 0 :(得分:3)
内存和核心属性适用于每个执行者。所以当你说SPARK_WORKER_CORES = 4时,每个执行者都有4个核心。
此外,您无法将服务器中的所有内存用于执行程序。如果你想要4个执行器,总内存为16GB,那么你的属性应该是这样的
SPARK_WORKER_MEMORY=4g
SPARK_PUBLIC_DNS=vodip-dt-a4d.ula.comcast.net
SPARK_WORKER_CORES=1
SPARK_WORKER_INSTANCES=4