【发布时间】:2018-05-26 03:20:29
【问题描述】:
我有一个 SPARK 流应用程序,它从 kafka 直接流中读取连续传入的数据。
这是我的设置
spark-core_2.10 - 2.1.1
spark-streaming_2.10 - 2.1.1
spark-streaming-kafka-0-10_2.10 - 2.0.0
kafka_2.10 - 0.10.1.1
它在大多数情况下运行良好,但有时当我正在写入 kafka 的其他应用程序重新启动时,我会收到以下错误。
WARN NetworkClient: Error while fetching metadata with correlation id 139022 : {topic4908100105=LEADER_NOT_AVAILABLE}
18/05/24 11:59:33 WARN NetworkClient: Error while fetching metadata with correlation id 139022 : {topic000001=LEADER_NOT_AVAILABLE}
.
.
.
ERROR JobScheduler: Error generating jobs for time 1527163130000 ms
java.lang.IllegalArgumentException: requirement failed: numRecords must not be negative
我在 SO 中看到了其他帖子,人们建议重新启动 kafka 或 spark 应用程序以从该错误中恢复。但是我的应用程序必须在没有任何人工干预的情况下连续运行!
有没有办法在我的 Spark 消费者类 (java) 中处理此异常并重新启动流或应用程序?
【问题讨论】:
标签: apache-spark apache-kafka spark-streaming