Apache Mesos 0.27 fetcher错误:地址已被使用:

时间:2016-02-18 12:01:26

标签: apache-spark mesos mesosphere

在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端口配置,但没有。

任何提示?

谢谢!

2 个答案:

答案 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。

非常感谢!