当我启动docker容器并在主节点上的容器内以群集模式进行火花提交时,我看到驱动程序正在agent1上启动。驱动程序登录agent1时说:
在端口40781上成功启动了服务“ sparkDriver”。 在master @ master-ip:5050上检测到新主人 服务器创建于127.0.0.1:32799
为什么服务器从127.0.0.1而不是agent1 ip启动?
我可以看到在agent2上的容器内启动的执行程序失败,并出现以下错误: java.io.IOException:无法连接到/127.0.0.1:40781
但是在agent1上启动的执行程序(其中驱动程序也在另一个容器中启动)成功连接到/127.0.0.1:40781并完成。
类似其他计算机上的容器,无法连接到启动驱动程序的/127.0.0.1:40781。这是预期的行为吗?我如何使其他机器上的执行程序与/127.0.0.1:40781上的驱动程序对话,或者如何使驱动程序在agent-ip而不是127.0.0.1上启动?
请注意,调度程序是在主节点上启动的,并且正在master-ip:7077上运行
使用了火花提交命令:
--targetParallelism=1