在Ubuntu 14.04(3主 - 3从设置)上将apache Mesos升级到0.27后,尝试使用Spark 1.6(不使用docker镜像的客户端模式)连接到群集时出现以下错误:
I0219 12:40:47.684662 11484 fetcher.cpp:379] Fetching URI
'hdfs://auto-ha/spark/spark.tgz'
I0219 12:40:47.684691 11484 fetcher.cpp:250] Fetching directly into the sandbox directory
I0219 12:40:47.684720 11484 fetcher.cpp:187] Fetching URI
'hdfs://auto-ha/spark/spark.tgz'
I0219 12:40:48.139446 11484 fetcher.cpp:109] Downloading resource
with Hadoop client from 'hdfs://auto-ha/spark/spark.tgz' to '/tmp/mesos/slaves/a7907b94-6dc9-437c-b027-b71379a9e0e1- S3/frameworks/a7907b94-6dc9-437c-b027-b71379a9e0e1- 0006/executors/5/runs/48753051-450a-4043-908d-58f277633cf4/spark.tgz'
F0219 12:40:48.140929 11484 process.cpp:892] Failed to initialize: Failed to bind on 172.16.8.166:5051: Address already in use: Address already in use [98]
*** Check failure stack trace: ***
@ 0x7ff38fe76a3d google::LogMessage::Fail()
@ 0x7ff38fe7887d google::LogMessage::SendToLog()
@ 0x7ff38fe7662c google::LogMessage::Flush()
@ 0x7ff38fe76839 google::LogMessage::~LogMessage()
@ 0x7ff38fe777a2 google::ErrnoLogMessage::~ErrnoLogMessage()
@ 0x7ff38fe1d149 process::initialize()
@ 0x7ff38fe1e7d2 process::ProcessBase::ProcessBase()
@ 0x7ff38fe4d631 process::reap()
@ 0x7ff38fe56235 process::subprocess()
@ 0x7ff38f603059 HDFS::copyToLocal()
@ 0x40eecd download()
@ 0x40b8ea main
@ 0x7ff38de81ec5 (unknown)
@ 0x40d2c3 (unknown)
Aborted (core dumped)
End fetcher log for container 48753051-450a-4043-908d-58f277633cf4
似乎是mesos-fetcher上的端口冲突,但使用:
sudo lsof -i | grep 5051
似乎没有什么东西在那个端口上听。
Mesos 0.26在同一设置上运行良好。
hdfs文件系统正在运行,docker容器正常运行。 我还检查了fetcher端口配置,但没有。
任何提示?
谢谢!
答案 0 :(得分:0)
5051
mesos-slave
用于与mesos-master
进行通信。要检查端口使用情况,请使用:
netstat -tulpn | grep 5051
或(没有端口名称转换 - 端口5051
称为enbd-cstatd
)
lsof -i -P | grep 5051
Mesos slave通常使用更高范围的端口31000-32000
,使用Mesosphere发布,您可以轻松控制为Mesos任务分配的端口范围:
echo "[20000-32000]" > /etc/mesos-slave/resources/ports
答案 1 :(得分:0)
在对集群的所有节点进行冷启动并升级之后(mesos软件包也升级了)一切正常。
升级到0.27后,Sems是一个mesos的bug。
非常感谢!