我有一个长期运行的结构化流应用程序,该应用程序设置了流传输管道并在writestream上以awaitTermination()结尾。如果应用程序死了,则systemd将重新启动它。
问题是,显然,如果重新启动了火花群集,我会收到很多这样的日志消息:
“ 19/04/30 08:47:29 WARN StandaloneSchedulerBackend:已与Spark集群断开连接!正在等待重新连接...”
“ 19/04/30 08:47:30错误TaskSchedulerImpl:在...上丢失了执行程序1:远程RPC客户端已取消关联。可能是由于容器超出阈值或网络问题。请检查驱动程序日志中是否有WARN消息。” >
因此,看起来底层的Java代码可能已与主服务器断开连接,但awaitTermination从未返回。有谁知道为什么会这样以及如何解决?