传输端点未连接 - Mesos Slave / Master

时间:2015-08-06 14:49:10

标签: linux debian virtualbox mesos marathon

我试图将Mesos奴隶连接到它的主人。当从属设备尝试连接到主设备时,我收到以下消息:

I0806 16:39:59.090845   935 hierarchical.hpp:528] Added slave 20150806-163941-1027506442-5050-921-S3 (debian) with cpus(*):1; mem(*):1938; disk(*):3777; ports(*):[31000-32000] (allocated: )
E0806 16:39:59.091384   940 socket.hpp:107] Shutdown failed on fd=25: Transport endpoint is not connected [107]
I0806 16:39:59.091508   940 master.cpp:3395] Registered slave 20150806-163941-1027506442-5050-921-S3 at slave(1)@127.0.1.1:5051 (debian) with cpus(*):1; mem(*):1938; disk(*):3777; ports(*):[31000-32000]
I0806 16:39:59.091747   940 master.cpp:1006] Slave 20150806-163941-1027506442-5050-921-S3 at slave(1)@127.0.1.1:5051 (debian) disconnected
I0806 16:39:59.091868   940 master.cpp:2203] Disconnecting slave 20150806-163941-1027506442-5050-921-S3 at slave(1)@127.0.1.1:5051 (debian)
I0806 16:39:59.092031   940 master.cpp:2222] Deactivating slave 20150806-163941-1027506442-5050-921-S3 at slave(1)@127.0.1.1:5051 (debian)
I0806 16:39:59.092248   939 hierarchical.hpp:621] Slave 20150806-163941-1027506442-5050-921-S3 deactivated

错误似乎是:

E0806 16:39:59.091384 940 socket.hpp:107] fd = 25时关闭失败:传输端点未连接[107]

主持人开始使用:

./mesos-master.sh --ip=10.129.62.61 --work_dir=~/Mesos/mesos-0.23.0/workdir/ --zk=zk://10.129.62.61:2181/mesos --quorum=1

奴隶

./mesos-slave.sh --master=zk://10.129.62.61:2181/mesos

如果我在与主机相同的VM上运行从属设备,它可以正常工作。

我在互联网上找不到太多信息。我在VirtualBox 5上运行了两个虚拟机(Debian 8.1)。主机是一个Windows 7。

编辑1:

主设备和从设备都在专用VM上运行。

使用桥接网络配置两个虚拟机。

来自master的ifconfig:

eth0      Link encap:Ethernet  HWaddr 08:00:27:cc:6c:6e
          inet addr:10.129.62.61  Bcast:10.129.255.255  Mask:255.255.0.0
          inet6 addr: fe80::a00:27ff:fecc:6c6e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5335953 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1422428 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:595886271 (568.2 MiB)  TX bytes:362423868 (345.6 MiB)

来自奴隶的ifconfig:

eth0      Link encap:Ethernet  HWaddr 08:00:27:56:83:20
          inet addr:10.129.62.49  Bcast:10.129.255.255  Mask:255.255.0.0
          inet6 addr: fe80::a00:27ff:fe56:8320/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4358561 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3825 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:397126834 (378.7 MiB)  TX bytes:354116 (345.8 KiB)

编辑2:

可以在http://pastebin.com/CXZUBHKr

找到从属日志

可以在http://pastebin.com/thYR1par

找到主日志

4 个答案:

答案 0 :(得分:12)

我有类似的问题。 我的奴隶日志将填充

    E0812 15:58:04.017990  2193 socket.hpp:107] Shutdown failed on fd=13: Transport endpoint is not connected [107]

我的主人会有

    F0120 20:45:48.025610 12116 master.cpp:1083] Recovery failed: Failed to recover registrar: Failed to perform fetch within 1mins

主人会死,新的选举将会发生,被杀死的主人将被新贵重启(我在Centos 6盒子上),并被加入潜在主人的池中。因此,我当选的主人将围绕我的主节点菊花链。许多重新开始的主人和奴隶没有做任何事情,这个问题会在大师选举的1分钟内一直回归。

我的解决方案来自这个stackoverflow问题(谢谢)和github BroadcastReceiver中的提示。

它的要点是/etc/default/mesos-master必须指定一个法定数量(对于mesos主人的数量,它需要是正确的,在我的情况下为3)

    MESOS_QUORUM=2

这对我来说很奇怪,因为我在文件/etc/mesos-master/quorum

中有相同的信息

但是我把它添加到/etc/default/mesos-master重新启动了mesos-masters和slave,问题没有恢复。

我希望这会对你有所帮助。

答案 1 :(得分:2)

升级mesos版本时,我在日志中遇到此错误(例如0.20.0 - > 0.27.0)。有时,以前版本的数据与其他版本不兼容。

以下是我如何纠正它:

首先确保所有节点都停止了mesos-master服务:

sudo service mesos-master stop

然后清除所有潜在的旧数据:

  1. 删除$MESOS_WORK_DIR(在我的情况下为/var/mesos):

    sudo rm -rf /var/mesos
    
  2. 清除ZooKeeper中的mesos数据:

    $ zkCli.sh
    WatchedEvent state:SyncConnected type:None path:null
    [zk: localhost:2181(CONNECTED) 0] rmr /mesos
    [zk: localhost:2181(CONNECTED) 0] quit
    Quitting...
    
  3. 完成这些步骤后,我在所有节点上启动了mesos-master服务,然后重新联机。

答案 2 :(得分:2)

I0806 16:39:59.091747   940 master.cpp:1006] Slave 20150806-163941-1027506442-5050-921-S3 at slave(1)@127.0.1.1:5051 (debian) disconnected

这是错误提示。

你的奴隶暴露了错误的IP。

--ip=10.129.62.49附加到slave命令,它可以正常工作。

答案 3 :(得分:0)

使用--ip=10.129.62.49代替

运行奴隶