Конечная точка транспорта не подключена - Mesos Slave/Master

Я пытаюсь подключить раб Mesos к своему хозяину. Когда slave пытается подключиться к ведущему, я получаю следующее сообщение:

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

Если я запускаю ведомое устройство на той же виртуальной машине, что и хост, он работает нормально.

Я не мог найти много информации в Интернете. Я запускаю два виртуальных блока (Debian 8.1) на VirtualBox 5. Хост - это Windows 7.

Изменить 1:

Ведущий и ведомый работают на отдельной виртуальной машине.

Оба виртуальных машины настроены с использованием мостовой сети.

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 from slave:

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

Ответ 1

У меня была аналогичная проблема. Мои ведомые журналы будут заполнены

    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 gist note.

Суть его в /etc/default/mesos-master должна указывать номер кворума (он должен быть правильным для количества мастеров мезоса, в моем случае 3)

    MESOS_QUORUM=2

Это кажется странным для меня, поскольку у меня есть такая же информация в файле /etc/mesos-master/quorum

Но я добавил его в /etc/default/mesos-master перезапустил /etc/default/mesos-master и slaves, и проблема не вернулась.

Я надеюсь, это поможет вам.

Ответ 2

Я столкнулся с этой ошибкой в журналах при обновлении версий mesos (например, 0.20.0 → 0.27.0). Иногда данные из предыдущей версии несовместимы с другими версиями.

Вот как я исправился:

Сначала убедитесь, что все узлы остановлены:

sudo service mesos-master stop

Затем очистите все потенциальные старые данные:

  1. Удалите $MESOS_WORK_DIR (/var/mesos в моем случае):

    sudo rm -rf /var/mesos
    
  2. Очистите данные мезо в ZooKeeper:

    $ zkCli.sh
    WatchedEvent state:SyncConnected type:None path:null
    [zk: localhost:2181(CONNECTED) 0] rmr /mesos
    [zk: localhost:2181(CONNECTED) 0] quit
    Quitting...
    

После выполнения этих шагов я запустил сервис mesos-master на всех узлах, и он вернулся в онлайн.

Ответ 3

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 к подчиненной команде, и она будет работать.

Ответ 4

Запустите ведомое устройство с помощью --ip=10.129.62.49 вместо