首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用zookeeper集群的mesos-master崩溃

使用zookeeper集群的mesos-master崩溃
EN

Stack Overflow用户
提问于 2015-08-17 15:28:06
回答 4查看 3.1K关注 0票数 5

我正在部署一个有3个节点的zookeeper集群。我用它来保持我的mesos主机的高可用性。我下载了zookeeper -3.4.6.tar.gztarball并解压缩为/opt,将其重命名为/opt/zookeeper,进入目录,编辑conf/zoo.cfg(粘贴如下),在dataDir中创建一个myid文件(在zoo.cfg中设置为/var/lib/zookeeper ),然后使用./bin/zkServer.shstart启动zookeeper,一切顺利。我一个接一个地启动所有3个节点,它们看起来都很好。我使用./bin/zkCli.sh连接服务器,没有问题。

但当我启动mesos (3个主机和3个从节点,每个节点运行一个主机和一个从节点)时,主机很快就崩溃了,一个接一个,在网页http://mesos_master:5050的从属选项卡中,没有显示从属节点。但是当我只运行一个zookeeper时,这些都很好。所以我认为这是动物园管理员集群的问题。

我的ubuntu服务器上有3台PV主机。它们都在运行ubuntu14.04LTS: node-01,node-02,node-03,我在所有三个节点中都有/etc/hosts,如下所示:

代码语言:javascript
复制
172.16.2.70     node-01
172.16.2.81     node-02
172.16.2.80     node-03

我在所有三个节点上安装了zookeeper和mesos。Zookeeper配置文件如下所示(全部三个节点):

代码语言:javascript
复制
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

它们可以正常启动并正常运行。然后我使用命令行./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启动mesos-master服务,几秒钟后,它给出如下错误:

代码语言:javascript
复制
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

▽
    @     0x7fa2b823fba7  _ZNSt5_BindIFPFvRKSsS1_EPKcSt12_PlaceholderILi1EEEEclIJS1_EvEET0_DpOT_
    @     0x7fa2b820f9f3  _ZZNK7process6FutureI7NothingE8onFailedISt5_BindIFPFvRKSsS6_EPKcSt12_PlaceholderILi1EEEEvEERKS2_OT_NS2_6PreferEENUlS6_E_clES6_
    @     0x7fa2b826305c  _ZNSt17_Function_handlerIFvRKSsEZNK7process6FutureI7NothingE8onFailedISt5_BindIFPFvS1_S1_EPKcSt12_PlaceholderILi1EEEEvEERKS6_OT_NS6_6PreferEEUlS1_E_E9_M_invokeERKSt9_Any_dataS1_
    @           0x4a44e7  std::function<>::operator()()
    @           0x49f3a7  _ZN7process8internal3runISt8functionIFvRKSsEEJS4_EEEvRKSt6vectorIT_SaIS8_EEDpOT0_
    @           0x499480  process::Future<>::fail()
    @     0x7fa2b806b4b4  process::Promise<>::fail()
    @     0x7fa2b826011b  process::internal::thenf<>()
    @     0x7fa2b82a0757  _ZNSt5_BindIFPFvRKSt8functionIFN7process6FutureI7NothingEERKN5mesos8internal8RegistryEEERKSt10shared_ptrINS1_7PromiseIS3_EEERKNS2_IS7_EEESB_SH_St12_PlaceholderILi1EEEE6__callIvISM_EILm0ELm1ELm2EEEET_OSt5tupleIIDpT0_EESt12_Index_tupleIIXspT1_EEE
    @     0x7fa2b82962d9  std::_Bind<>::operator()<>()
    @     0x7fa2b827ee89  std::_Function_handler<>::_M_invoke()
I0817 15:09:20.098639  2248 http.cpp:283] HTTP GET for /master/state.json from 172.16.2.84:54542 with User-Agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
    @     0x7fa2b8296507  std::function<>::operator()()
    @     0x7fa2b827efaf  _ZZNK7process6FutureIN5mesos8internal8RegistryEE5onAnyIRSt8functionIFvRKS4_EEvEES8_OT_NS4_6PreferEENUlS8_E_clES8_
    @     0x7fa2b82a07fe  _ZNSt17_Function_handlerIFvRKN7process6FutureIN5mesos8internal8RegistryEEEEZNKS5_5onAnyIRSt8functionIS8_EvEES7_OT_NS5_6PreferEEUlS7_E_E9_M_invokeERKSt9_Any_dataS7_
    @     0x7fa2b8296507  std::function<>::operator()()
    @     0x7fa2b82e4419  process::internal::run<>()
    @     0x7fa2b82da22a  process::Future<>::fail()
    @     0x7fa2b83136b5  std::_Mem_fn<>::operator()<>()
    @     0x7fa2b830efdf  _ZNSt5_BindIFSt7_Mem_fnIMN7process6FutureIN5mesos8internal8RegistryEEEFbRKSsEES6_St12_PlaceholderILi1EEEE6__callIbIS8_EILm0ELm1EEEET_OSt5tupleIIDpT0_EESt12_Index_tupleIIXspT1_EEE
    @     0x7fa2b8307d7f  _ZNSt5_BindIFSt7_Mem_fnIMN7process6FutureIN5mesos8internal8RegistryEEEFbRKSsEES6_St12_PlaceholderILi1EEEEclIJS8_EbEET0_DpOT_
    @     0x7fa2b82fe431  _ZZNK7process6FutureIN5mesos8internal8RegistryEE8onFailedISt5_BindIFSt7_Mem_fnIMS4_FbRKSsEES4_St12_PlaceholderILi1EEEEbEERKS4_OT_NS4_6PreferEENUlS9_E_clES9_
    @     0x7fa2b830f065  _ZNSt17_Function_handlerIFvRKSsEZNK7process6FutureIN5mesos8internal8RegistryEE8onFailedISt5_BindIFSt7_Mem_fnIMS8_FbS1_EES8_St12_PlaceholderILi1EEEEbEERKS8_OT_NS8_6PreferEEUlS1_E_E9_M_invokeERKSt9_Any_dataS1_
    @           0x4a44e7  std::function<>::operator()()
    @           0x49f3a7  _ZN7process8internal3runISt8functionIFvRKSsEEJS4_EEEvRKSt6vectorIT_SaIS8_EEDpOT0_
    @     0x7fa2b82da202  process::Future<>::fail()
    @     0x7fa2b82d2d82  process::Promise<>::fail()
Aborted

有时警告是这样的,然后崩溃,并显示上面相同的输出:

代码语言:javascript
复制
0817 15:09:49.745750  2104 recover.cpp:111] Unable to finish the recover protocol in 10secs, retrying

我想知道zookeeper在我的情况下是否部署和运行良好,以及我如何定位问题所在。欢迎任何答案和建议。谢谢。

EN

回答 4

Stack Overflow用户

发布于 2015-10-09 16:11:17

实际上,在我的例子中,这是因为我没有打开防火墙端口5050来允许三台服务器相互通信。更新防火墙规则后,即可正常工作。

票数 1
EN

Stack Overflow用户

发布于 2016-06-01 20:35:44

我遇到了同样的问题,我尝试了不同的方法和不同的选项,最后--ip选项对我起作用了。最初我使用的是--hostname选项

代码语言:javascript
复制
mesos-master --ip=192.168.0.13 --quorum=2 --zk=zk://m1:2181,m2:2181,m3:2181/mesos --work_dir=/opt/mm1 --log_dir=/opt/mm1/logs
票数 1
EN

Stack Overflow用户

发布于 2016-09-08 08:51:57

您需要检查所有mesos/zookeeper主节点是否可以正常通信。为此,您需要:

  • Zookeeper端口打开: TCP 2181、2888、3888
  • Mesos端口打开: TCP 5050
  • ping available (ICMP消息0和8)

如果在配置中使用FQDN而不是IP,请检查DNS解析是否正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32044884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档