【问题标题】:why Tasks idle for sometime while running Spark job为什么任务在运行 Spark 作业时空闲一段时间
【发布时间】:2018-11-26 17:30:14
【问题描述】:

我正在运行 spark 作业,并注意到在几个阶段完成后,任务空闲了一段时间又开始了。

Spark 版本 - 2.2 和 Java 1.8

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

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

总内存 - 16 GB(每个 8)

下面是我使用的 spark submit 命令。

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

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

请查看随附的屏幕截图,该屏幕截图显示一段时间内没有任何活动任务正在运行。

谢谢。

【问题讨论】:

    标签: java scala apache-spark


    【解决方案1】:

    您可能有一些group 操作,并且您看到此操作的结果是分区数量减少。

    它也可能是一个分布不均的作业(就数据而言很糟糕 - 一些节点/分区比其他节点/分区重,您需要等待它们完成才能进入下一步)。

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

    【讨论】:

      猜你喜欢
      • 2012-01-02
      • 2012-12-28
      • 1970-01-01
      • 2020-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-25
      相关资源
      最近更新 更多