我有一个由3台运行Hadoop和Spark-1.5.2的macOS计算机组成的集群(尽管与Spark-2.0.0一样,存在相同的问题)。使用“yarn”作为Spark主URL,我遇到一个奇怪的问题,其中任务仅分配给3台计算机中的2台。
基于Hadoop仪表板(主服务器上的端口8088),很明显,所有3个节点都是集群的一部分。但是,我运行的任何Spark作业仅使用2个执行程序。
例如,这是长时间运行JavaWordCount示例的“执行程序”选项卡:
“batservers”是大师。应该有一个附加的从服务器“batservers2”,但它并不存在。
为什么会这样呢?
请注意,除了为YARN资源管理器和节点管理器提供额外内存的规定外,我的YARN或Spark(或就此而言,HDFS)配置都没有异常。
最佳答案
值得注意的是,只需要详细查看spark-submit帮助消息即可找到答案:
YARN-only:
...
--num-executors NUM Number of executors to launch (Default: 2).
如果我在spark-submit命令中指定
--num-executors 3
,则使用第3个节点。
关于hadoop - Hadoop YARN上的Spark-执行器丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39967805/