我正在部署一个有3个节点的zookeeper集群.我用它来保持我的mesos主高可用性.我下载了zookeeper-3.4.6.tar.gz tarball并将其解压缩到/ opt,将其重命名为/ opt/zookeeper,进入目录,编辑conf/zoo.cfg(粘贴在下面),在dataDir中创建一个myid文件(在zoo.cfg中设置为/ var/lib/zookeeper),并使用./bin/zkServer.sh start启动zookeeper,它运行良好.我逐个启动所有3个节点,它们似乎都很好.我使用./bin/zkCli.sh来连接服务器,没问题.
但是当我启动mesos(3个主服务器和3个从服务器,每个节点运行一个主服务器和一个服务器)时,主服务器很快就会一个接一个地崩溃,并且在网页http:// mesos_master:5050,slave tab,没有奴隶是显示.但是,当我只运行一个动物园管理员时,这些都很好.所以我认为这是zookeeper集群的问题.
我的ubuntu服务器上有3个PV主机.他们都在运行ubuntu 14.04 LTS:node-01,node-02,node-03,我/etc/hosts在这三个节点中都有这样的:
172.16.2.70 node-01
172.16.2.81 node-02
172.16.2.80 node-03
Run Code Online (Sandbox Code Playgroud)
我在所有三个节点上安装了zookeeper,mesos.Zookeeper配置文件是这样的(所有三个节点):
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=node-01:2888:3888
server.2=node-02:2888:3888
server.3=node-03:2888:3888
Run Code Online (Sandbox Code Playgroud)
它们可以正常启动并运行良好.然后我使用命令行启动mesos-master服务,./bin/mesos-master.sh --zk=zk://172.16.2.70:2181,172.16.2.81:2181,172.16.2.80:2181/mesos --work_dir=/var/lib/mesos --quorum=2几秒钟后,它给出了我这样的错误:
F0817 15:09:19.995256 2250 master.cpp:1253] Recovery failed: Failed to recover registrar: Failed to perform fetch within 1mins
*** Check failure stack trace: ***
@ 0x7fa2b8be71a2 google::LogMessage::Fail()
@ 0x7fa2b8be70ee google::LogMessage::SendToLog()
@ 0x7fa2b8be6af0 google::LogMessage::Flush()
@ 0x7fa2b8be9a04 google::LogMessageFatal::~LogMessageFatal()
?
@ 0x7fa2b81a899a mesos::internal::master::fail()
?
@ 0x7fa2b8262f8f _ZNSt5_BindIFPFvRKSsS1_EPKcSt12_PlaceholderILi1EEEE6__callIvJS1_EJLm0ELm1EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE
? …Run Code Online (Sandbox Code Playgroud)