小编Dan*_*ica的帖子

Spark 流错误:与心跳中的驱动程序通信时出现问题

当我运行 Spark Streaming 应用程序时,我正在尝试检测心跳问题。

我知道心跳的含义,我尝试增加它在“spark.executor.heartbeatInterval”中的值,但问题仍然存在。

我的配置是:

  • 4 执行人
  • 每个执行器 4 个核心
  • 每个执行器 6GB RAM
  • Spark流时间窗口:30s
  • 每个批次需要 2 秒到 28 秒才能完成

在日志中,我可以看到执行器如何突然开始记录“与心跳中的驱动程序通信的问题”,并且当它发生X次时,执行器关闭(如spark文档所述)。

在日志中我看不到任何异常(例如 OOM 或有关 GC 的内容)。简单地说,一段时间(启动后几个小时),心跳失败。

我已阅读有关重新分区数据以尝试解决问题的信息,但我不能,因为它是 Kafka Direct 应用程序,并且每个分区都是部分排序的,因此我不会随时进行重新分区。

这是我可以看到的痕迹:

2018/12/16 13:44:26:317 WARN org.apache.spark.executor.Executor: Issue communicating with driver in heartbeater
org.apache.spark.rpc.RpcTimeoutException: Futures timed out after [10 seconds]. This timeout is controlled by spark.executor.heartbeatInterval
    at org.apache.spark.rpc.RpcTimeout.org$apache$spark$rpc$RpcTimeout$$createRpcTimeoutException(RpcTimeout.scala:47)
    at org.apache.spark.rpc.RpcTimeout$$anonfun$addMessageIfTimeout$1.applyOrElse(RpcTimeout.scala:62)
    at org.apache.spark.rpc.RpcTimeout$$anonfun$addMessageIfTimeout$1.applyOrElse(RpcTimeout.scala:58)
    at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:36)
    at org.apache.spark.rpc.RpcTimeout.awaitResult(RpcTimeout.scala:76)
    at org.apache.spark.rpc.RpcEndpointRef.askSync(RpcEndpointRef.scala:92)
    at org.apache.spark.executor.Executor.org$apache$spark$executor$Executor$$reportHeartBeat(Executor.scala:785)
    at org.apache.spark.executor.Executor$$anon$2$$anonfun$run$1.apply$mcV$sp(Executor.scala:814)
    at org.apache.spark.executor.Executor$$anon$2$$anonfun$run$1.apply(Executor.scala:814)
    at org.apache.spark.executor.Executor$$anon$2$$anonfun$run$1.apply(Executor.scala:814)
    at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1988)
    at org.apache.spark.executor.Executor$$anon$2.run(Executor.scala:814)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) …
Run Code Online (Sandbox Code Playgroud)

scala apache-spark spark-streaming

5
推荐指数
0
解决办法
1687
查看次数

标签 统计

apache-spark ×1

scala ×1

spark-streaming ×1