我能够在云环境中成功部署spark master
容器和spark worker
容器。工作服务器已成功连接到主服务器。
在启动从属服务器时,我使用DNS来指定主服务器URL。我使用标准的start-slave.sh和start-master.sh脚本启动该过程。 Spark版本为2.4.3
我面临的问题是当我杀死主服务器并重新启动它时,从服务器将尝试重新连接到主服务器,并且在尝试几次后失败。
我认为失败的原因如下:
重新启动主服务器后,它将获得一个新的IP。
从站正尝试使用不再活动的旧IP到达主站。
经过几次尝试后,它放弃并失败了。
即使我指定了DNS,也正在发生从DNS到IP的解析并将其缓存的情况。
以前有人遇到过这个问题吗?
有人可以指导我如何克服这种情况吗?
工作节点的日志。...
19/05/31 13:53:51 ERROR Worker: Connection to master failed! Waiting for master to reconnect...
19/05/31 13:53:51 ERROR Worker: Connection to master failed! Waiting for master to reconnect...
19/05/31 13:56:00 ERROR RpcOutboxMessage: Ask timeout before connecting successfully
19/05/31 13:58:37 ERROR RpcOutboxMessage: Ask timeout before connecting successfully
19/05/31 14:01:25 ERROR RpcOutboxMessage: Ask timeout before connecting successfully
19/05/31 14:04:13 ERROR RpcOutboxMessage: Ask timeout before connecting successfully
19/05/31 14:05:01 ERROR Worker: All masters are unresponsive! Giving up.