我正在使用docker设置Mesos集群(ZooKeeper+Mesos),其中3个节点(A,B,C)为每个节点运行ZooKeeper &主&从容器。
节点B &C互重定向(quorum=2)
当我运行Mesos- master容器并打开Mesos Web UI时,
- 节点A似乎是一个主节点
- 节点B重定向到节点C
- 节点C重定向到节点B
节点A是孤立的,而节点B和节点C永远互相重定向,这似乎很奇怪。
这里发生了什么?
docker run
命令如下所示。(除MESOS_IP
外3个节点同)
docker run
--net=host
-e MESOS_LOG_DIR=/var/log/mesos
-e MESOS_ZK=zk://<hostname-nodeA>:2181,<hostname-nodeB>:2181,<hostname-nodeC>:2181/mesos
-e MESOS_CLUSTER=cheeter
-e MESOS_HOSTNAME=<hostname-nodeA>
-e MESOS_WORK_DIR=/var/lib/mesos
-e MESOS_QUORUM=2
-e MESOS_ISOLATOR=cgroups/cpu,cgroups/mem,cgroups/devices
-e MESOS_CONTAINERIZERS=docker,mesos
-e MESOS_IP=<ip-nodeA>
-p 5050:5050
-v /run/docker.sock:/var/run/docker.sock
-v /var/log:/var/log
-v /cgroup:/cgroup
-v /sys:/sys
-v /proc:/proc
-t mesosphere/mesos-master:0.20.1
ZooKeeper的 docker run
命令如下。(除ZOOKEEPER_ID
外,3个节点同)
docker run
-e ZOOKEEPER_ID=1
-e ZOOKEEPER_SERVER_1=<hostname-nodeA>:2888:3888
-e ZOOKEEPER_SERVER_2=<hostname-nodeB>:2888:3888
-e ZOOKEEPER_SERVER_3=<hostname-nodeC>:2888:3888
-e ZOOKEEPER_DATADIR=/var/zookeeper
-p 2181:2181
-p 2888:2888
-p 3888:3888
-v /var:/var
-v /sys:/sys
-v /proc:/proc
-v /cgroup:/cgroup
-t jplock/zookeeper:3.4.6
我尝试更改quorum number 1-3,结果是;
3个节点在队列中重定向(quorum=1)
当我用quorum=1
运行Mesos-Master时,节点在队列中重定向,如A->B->C->A->....
每个节点显示"当前没有master领先…"(法定人数= 3)
当我用quorum=1
运行Mesos-Master时,没有发生重定向,每个节点显示"当前没有master正在引导…"
对于3个主节点,仲裁应该至少为2(参见http://mesos.apache.org/documentation/latest/configuration/)。你能分享一下主日志吗?