【发布时间】:2018-08-01 14:26:10
【问题描述】:
设置场景
我正在努力使 Spark 流应用程序(带有 Scala 的 Spark 2.2.1)在 Yarn 集群(Hadoop 2.7.4)上运行。
到目前为止,我设法使用 spark-submit 将应用程序提交到 Yarn 集群。我可以看到receiver任务正确启动并从数据库(Couchbase Server 5.0)中获取了很多记录,我还可以看到记录被分成了批次。
问题
但是,当我查看 Spark Web UI 上的 Streaming Statistics 时,我可以看到我的批次从未被处理过。我已经看到有 0 条记录的批次处理并完成,但是当有记录的批次开始处理时,它永远不会完成。有一次它甚至被困在一个有 0 条记录的批次上。
我什至尝试尽可能简化 SteamingContext 上的输出操作。但是仍然使用非常简单的输出操作 print() 我的批次永远不会被处理。日志不显示任何警告或错误。
有谁知道可能出了什么问题?任何有关如何解决此问题的建议将不胜感激。
更多信息
Spark 应用程序的主类是由 Couchbase Spark 连接器文档中的 this example(第一个)和 Spark 文档中的带有检查点的 this example 构建的。
现在我有 3230 个活动批次(3229 个排队和 1 个处理)和 1 个已完成批次(有 0 条记录),应用程序已经运行了 4 小时 30 分钟......每 5 秒添加另一个批次.
如果我查看执行程序的“线程转储”,我会看到很多 WAITING、TIMED WAITING 和一些 RUNNABLE 线程。该列表将填满 3 个屏幕截图,所以我只会在需要时发布。
您将在下面找到一些 Web UI 的屏幕截图
执行者概述
Spark 工作概览
带资源的节点概览
容量调度程序概述
【问题讨论】:
标签: hadoop apache-spark spark-streaming couchbase hadoop-yarn