2016-04-27 4 views
0

Физическая машина: 192.168.10.1 (Mesos, Zookeeper, Marathon)
Виртуальная машина: 192.168.122.10 (Mesos, Zookeeper)
Виртуальная машина: 192.168.122.46 (Mesos, Zookeeper)Не удается запустить Mesos/Marathon кластера

ОС для всех трех машин - Fedora 23 Server

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

Установка брандмауэра отсутствует.

Mesos Выборы LOG:

Master bound to loopback interface! Cannot communicate with remote schedulers or slaves. You might want to set '--ip' flag to a routable IP address. 

Я могу установить это вручную, однако я не могу установить это динамически ... --ip_discovery_command флаг не распознается.

Что я хотел сделать, это связать приведенный ниже сценарий с этим флагом.

if [[ $(ip addr) == *enp8s0* ]]; 
then 
    ip addr show enp8s0 | awk -F'/| ' '/inet/ { print $6 }' 
else 
    ip addr show eth0 | awk -F'/| ' '/inet/ { print $6 }' 
fi 

Когда я установить вручную (не то, что я хочу сделать) ...

страница Mesos на IP:5050 приходит ... но тогда Mesos-мастер не может через 1 минуту из-за это ...

F0427 17:03:27.975260 6914 master.cpp:1253] Recovery failed: Failed to recover registrar: Failed to perform fetch within 1mins 
*** Check failure stack trace: *** 
    @  0x7f8360fa9edd (unknown) 
    @  0x7f8360fabc50 (unknown) 
    @  0x7f8360fa9ad3 (unknown) 
    @  0x7f8360fac61e (unknown) 
    @  0x7f83619a85dd (unknown) 
    @  0x7f83619e7c30 (unknown) 
    @  0x55a885ee3b2e (unknown) 
    @  0x7f8361a11c0e (unknown) 
    @  0x7f8361a5d75e (unknown) 
    @  0x7f8361a7077a (unknown) 
    @  0x7f83618f4aae (unknown) 
    @  0x7f8361a70768 (unknown) 
    @  0x7f8361a548d0 (unknown) 
    @  0x7f8361fc832c (unknown) 
    @  0x7f8361fd42a5 (unknown) 
    @  0x7f8361fd472f (unknown) 
    @  0x7f8360a5e60a start_thread 
    @  0x7f835fefda4d __clone Aborted (core dumped) 

Zookeeper настроен так:

# The number of milliseconds of each tick 
tickTime=2000 
# The number of ticks that the initial 
# synchronization phase can take 
initLimit=10 
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement 
syncLimit=5 
# the directory where the snapshot is stored. 
# do not use /tmp for storage, /tmp here is just 
# example sakes. 
dataDir=/var/lib/zookeeper/data 
dataLogDir=/var/lib/zookeeper/log 
# the port at which the clients will connect 
clientPort=2181 
# the maximum number of client connections. 
# increase this if you need to handle more clients 
#maxClientCnxns=60 
# 
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge. 
# 
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance 
# 
# The number of snapshots to retain in dataDir 
#autopurge.snapRetainCount=3 
# Purge task interval in hours 
# Set to "0" to disable auto purge feature 
#autopurge.purgeInterval=1 
server.1:192.168.10.1:2888:3888 
server.2:192.168.122.46:2888:3888 
server.3:192.168.122.10:2888:3888 

и не имеют ни малейшего представления о том, как VERI fy, что он работает правильно ...

Я честно нахожусь на конце своей веревки .. вытягиваю волосы на прошлой неделе на этом из-за плохой документации и отсутствия правильных объяснений архитектуры (в первую очередь марафона) ужасно организованные журналы (Mesos), systemd неспособные правильно проанализировать bash и использовать выход как переменную, и отсутствие инструкций вокруг.

Я что-то не так? Я ценю любую помощь, которую я могу получить, сообщите мне, если вам нужно что-нибудь, что я еще не предоставил, и я отправлю его сразу.

EDIT:

Я исправил проблему с марафоне, путем добавления двух дополнительных серверов Marathon к ВМ, чтобы они могли сформировать кворум.

EDIT2:

Я теперь возникают проблемы, когда сервер Mesos хранит быстро переизбрание лидера ... но в зависимости от результата я буду смотреть на это позже ...

ответ

2

Если вы внимательно следите за installation docs, я думаю, вы должны заставить его работать.

Например, проблема «Мастер связывается с петлей» - это ИМХО, связанная с неправильными/неполными настройками.См:

Hostname (опционально)

Если вы не в состоянии разрешить имя хоста машины непосредственно (например, если в другой сети или с помощью VPN), установите /etc/mesos-master/hostname на значение что вы можете разрешить, например, внешний доступный IP-адрес или DNS-имя хоста. Это обеспечит правильную работу всех ссылок из консоли Mesos.

Вам также нужно установить это свойство в /etc/marathon/conf/hostname.

Кроме того, я бы рекомендовал также установить главный IP-адрес в файле /etc/mesos-master/ip. Всегда убедитесь, что имена хостов разрешены нелокальным IP-адресом, то есть добавлением записей в файл /etc/hosts на каждом хосте.

В основном, файл /etc/hosts должен выглядеть следующим образом (заменить имя хоста с фактическими):

127.0.0.1 localhost 

192.168.10.1 host1 
192.168.122.10 host2 
192.168.122.46 host3 

Если вы просто хотите проверить кластер Mesos, вы также можете использовать предварительно сконфигурированные решение Vagrant как tobilg/coreos-mesos-cluster.

Что касается настройки ZooKeeper, убедитесь, что вы создали /var/lib/zookeeper/myid на каждом узле, который содержит фактический цифровой идентификатор, который вы устанавливаете для каждого узла, например. для 192.168.10.1 единственным содержимым файла должно быть 1.

Перед отладкой мастеров убедитесь, что кластер ZooKeeper работает правильно и что выбран лидер. Убедитесь, что /etc/mesos/zk содержит правильную строку соединения ZooKeeper на каждом хосте, например.

zk://192.168.10.1:2181,192.168.122.10:2181,192.168.122.46:2181/mesos 

Если ZK работает, перезапустите службы и проверьте журналы мастеров. Сделайте то же самое с рабами.

Ссылки:

+0

Просто немного хедз-ап @tobi: open.mesosphere.com устарела и будет уходить в ближайшее время, не может хотите использовать его как ref, идя вперед;) –

+0

@MichaelHausenblas Спасибо за хедз-ап. Было бы неплохо, если бы это было указано где-то на странице. Мне удалось настроить кластеры для разных ОС с доступными доступными ссылками, так что кажется, что они все еще верны (говоря о последней версии Mesos). – Tobi

+0

В моей установке нет/etc/mesos и/etc/mesos-master или/etc/zookeeper/conf/directories ... Я не знаю, прочитает ли они их ... хорошие новости мой zookeeper работает отлично. Я пытаюсь их создать и посмотреть, как это происходит. – Procyclinsur