为什么任务在运行Spark作业时空闲一段时间

时间:2018-11-25 12:44:45

标签: java scala apache-spark

captured screenshot from Executors tab

我正在执行spark工作,并注意到在完成几个阶段后,任务闲置了一段时间,然后又重新开始了。

Spark版本-2.2和Java 1.8

总节点数-3(包括主节点)

核心总数-16(每个数据节点8个)

总内存-16 GB(每个8 GB)

下面是我使用的spark提交命令。

spark-submit --master yarn --deploy-mode cluster --executor-memory 1G --executor-cores 2 --num-executors 6 --jars jar1  --class wordcount wordcount.jar

任务进入空闲状态是否有任何原因?如果是,那可能是什么原因。

请找到所附的屏幕快照,该屏幕快照显示一段时间内没有正在运行的活动任务。

谢谢。

1 个答案:

答案 0 :(得分:0)

可能您有一些group操作,并且该操作的结果显示分区数量减少了。

这也可能是一个分布很差的工作(在数据方面很差-一些节点/分区比其他节点/分区更重,您需要等待它们的完成才能进行下一步)。

一些代码示例可以帮助您理解UI截屏,但作为一种可能的解决方案-仔细遍历代码并尝试捕获组/重新分区操作,注意分区方案-mb,这是预期的行为在您的情况下,请仔细检查IO操作(是的,可能您已经检查过-有时也会发生)。