Hadoop YARN 上的 Spark - 缺少执行程序

Spark on Hadoop YARN - executor missing

我有一个由 3 台 macOS 机器组成的集群 运行ning Hadoop 和 Spark-1.5.2(尽管 Spark-2.0.0 存在同样的问题)。 'yarn' 作为 Spark master URL,我 运行 遇到了一个奇怪的问题,任务只分配给了 3 台机器中的 2 台。

根据 Hadoop 仪表板(主服务器上的端口 8088),很明显所有 3 个节点都是集群的一部分。但是,我 运行 的任何 Spark 作业仅使用 2 个执行程序。

例如,这里是 JavaWordCount 示例的冗长 运行 上的 "Executors" 选项卡: "batservers"是高手。应该有一个额外的奴隶,"batservers2",但它不在那里。

为什么会这样?

请注意,我的 YARN 或 Spark(或者,就此而言,HDFS)配置的 none 是不寻常的,除了为 YARN 资源和节点管理器提供额外内存的规定。

值得注意的是,只需详细查看 spark-submit 帮助消息即可找到答案:

YARN-only:

...

--num-executors NUM Number of executors to launch (Default: 2).

如果我在 spark-submit 命令中指定 --num-executors 3,则使用第 3 个节点。