当mesos群集上的docker内部提交spark作业时,代理上的执行者容器无法连接到驱动程序

时间:2018-12-30 19:32:31

标签: docker apache-spark mesos

当我启动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

0 个答案:

没有答案