我想通过 sparkstreaming 保持作业运行

时间:2021-04-09 06:32:56

标签: apache-spark pyspark spark-streaming spark-streaming-kafka

是否可以让流媒体作业一直运行? 大约 24 小时后,它会吐出此错误并停止处理。 我不太确定如何处理这个问题。

21/01/01 00:03:30 WARN KafkaOffsetReader [stream execution thread for [id =17bf-45aa-a9cd-2f77ec14df61, runId = 43c1-a932-d9f790996a6e]]: Retrying to fetch latest offsets because of incorrect offsets
21/01/01 07:17:04 ERROR RawSocketSender [MdsLoggerSenderThread]: org.fluentd.logger.sender.RawSocketSender
java.net.SocketException: Broken pipe (Write failed)

ssc.awaitTermination()

上面的代码不是一直在运行吗?

1 个答案:

答案 0 :(得分:0)

原因:您的 kafka 队列中没有消息可供消费。

增加 awaitTermination() 的重试时间和最大时间。

即 3000000 毫秒 = 等待消息 5 分钟

  ssc.awaitTermination(100000)

注意:根据您的环境更改值。它是至少一条新消息到达 kafka 队列的最大持续时间。