关闭

Zookeeper启动显示成功,zkServer.sh status报错

标签: ZooKeeperzkServer.sh安装与配置myidzoo.cfg
3836人阅读 评论(0) 收藏 举报


zookeeper-3.4.9 按照指导配置完成后,再zookeeper/bin下执行 

./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /home/hadoop/bigdata/zk/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

再执行 ./zkServer.sh status

hadoop@master:~/bigdata/zk/bin$ ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/hadoop/bigdata/zk/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.


再执行 jps, 根本就没有zookeeper相关进程在运行。也就是说,start 那步显示的STARTED 并不代表真正启动成功。

hadoop@master:~/bigdata/zk/bin$ jps
4128 NameNode
5745 ResourceManager
22914 Jps
19299 SqoopJettyServer
1670 RunJar
22074 Master
5535 SecondaryNameNode


查看 同目录下的日志文件zookeeper.out, 显示 zoo.cfg 配置文件解析错误。

我在zoo.cfg 中只加了下面5行,格式上来说都是对的呀,怎么会有格式错误?

dataDir=/home/hadoop/bigdata/zk/zkdata
dataLogDir=/home/hadoop/bigdata/zk/zkdatalog

server.1=master:2888:3888
server.2=ndh-slave01:2888:3888
server.3=slave02:2888:3888

仔细看了这五行内容,且配置过程中修改过的地方,dataDir/dataLogDir 两个只是目录,肯定是创建过的,不太会出问题。那唯一可能的就是server.X=xxx 那几行。

先注掉试试,再次运行 ./zkServer.sh start, ./zkServer.sh status , jps,  zookeeper 进程在运行了,但status 显示是 “Mode: standalone" , 也就是单机模式,虽然模式不对,但至少可以确认是这三行的问题。

回想先前安装过程中,在每台机器的/home/hadoop/bigdata目录下设置过myid 文件,并且要求 myid中的值要与server.X 中设置的X 相一致,难道是这个地方不匹配?

排除格式,字符集等因素后,最后猜测可能是文件路径不对。

仔细比对,注意到 配置时myid文件的/home/hadoop/bigdata目录,zoo.cfg 中dataDir=/home/hadoop/bigdata/zk/zkdata, 没在zookeeper 的有效路径中zookeeper访问不到?

果断把master上的myid 拷贝到/home/hadoop/bigdata/zk/zkdata下,再次执行  ./zkServer.sh start,jps 显示有zookeeper 进程在运行了 ,./zkServer.sh status 显示 "Mode: follower" , 继续在其他两台机器上把myid 拷贝到dataDir路径下,启动zkServer, 终于都正常了。

补充下:要在安装zookeeper的机器上都执行zkServer.sh start,不是只在master上执行,脚本应该优化成只在master上执行一次即可全部启动的方式。否则还是会出现如题的错误。

hadoop@master:~/bigdata/zk/bin$ jps
4128 NameNode
23504 QuorumPeerMain
5745 ResourceManager
19299 SqoopJettyServer
1670 RunJar
22074 Master
23566 Jps
5535 SecondaryNameNode

$ /bin/bash zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/hadoop/bigdata/zk/bin/../conf/zoo.cfg
Mode: leader

hadoop@master:~/bigdata/zk/bin$ ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/hadoop/bigdata/zk/bin/../conf/zoo.cfg
Mode: follower


附:zoo.cfg 中各配置项的含义和作用:1.tickTime:CS通信心跳数
Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位。
    tickTime=2000 
2.initLimit:LF初始通信时限
集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。
    initLimit=10
3.syncLimit:LF同步通信时限
集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。
    syncLimit=5
4.dataDir:数据文件目录
Zookeeper保存数据的目录,默认情况下,Zookeeper将写数据的日志文件也保存在这个目录里。
5.dataLogDir:日志文件目录
Zookeeper保存日志文件的目录。
6.clientPort:客户端连接端口
客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
    clientPort=2181
7.服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)
这个配置项的书写格式比较特殊,规则如下:
    server.N=YYY:A:B  
其中N表示服务器编号,YYY表示服务器的IP地址,A为LF通信端口,表示该服务器与集群中的leader交换的信息的端口。B为选举端口,表示选举新leader时服务器间相互通信的端口(当leader挂掉时,其余服务器会相互通信,选择出新的leader)。一般来说,集群中每个服务器的A端口都是一样,每个服务器的B端口也是一样。但是当所采用的为伪集群时,IP地址都一样,只能是A端口和B端口不一样。
下面是一个非伪集群的例子:
    server.0=233.34.9.144:2008:6008  
    server.1=233.34.9.145:2008:6008  
    server.2=233.34.9.146:2008:6008  
下面是一个伪集群的例子:
    server.0=127.0.0.1:2008:6008  
    server.1=127.0.0.1:2007:6007  
    server.2=127.0.0.1:2006:6006  



1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

ZooKeeper系列之二:Zookeeper常用命令

ZooKeeper服务命令:      在准备好相应的配置之后,可以直接通过zkServer.sh 这个脚本进行服务的相关操作 1. 启动ZK服务:       sh bin/zkServer...
  • xiaolang85
  • xiaolang85
  • 2013-10-25 15:25
  • 249543

Zookeeper启动成功,zkServer.sh status 报错

1.但用zkServer.sh status查看,反馈如下: 2.可能有以下几个原因: 第一,zoo.cfg文件配置出错:dataLogDir指定的目录未被创建。 第二,myid文件中的整数格式不...
  • henni_719
  • henni_719
  • 2016-11-25 10:45
  • 3168

zookeeper启动失败的排错

运行zookeeperd后显示启动成功: JMX enabled by default Using config: /data/programfiles/zookeeper-3.4.5/b...
  • newjueqi
  • newjueqi
  • 2014-08-12 17:57
  • 56333

解决Zookeeper无法启动的问题

今天在启动zookeeper集群的单个zookeeper节点时总是报如下错误 [root@zookeeper1 zookeeper-3.4.5]# bin/zkServer.sh status JMX...
  • u012453843
  • u012453843
  • 2017-04-27 21:21
  • 4846

zookeeper——启动zookeeper中的常见问题

原文地址:http://hi.baidu.com/luhao8415/item/23c6e7f075aa18b730c1993a 最近常有启动zookeeper出现问题的,整理下贴出来,以后也可以参考...
  • qinglu000
  • qinglu000
  • 2013-08-07 13:46
  • 70003

zookeeper启动失败的排错

1.执行zkServer.sh start 后显示: JMX enabled by default Using config:/home/hadoop/app/zookeeper-3.4.5/bi...
  • u014686180
  • u014686180
  • 2016-06-27 13:06
  • 16449

zookeeper节点启动失败

环境:zookeeper版本号:3.4.6,三个节点。 有一台服务器重启了,用zkServer.sh  start 启动是出错,信息如下: [2016-10-11 10:47:49,715...
  • gongmf
  • gongmf
  • 2016-10-12 11:39
  • 1336

zookeeper启动失败的可能情况

最近开始实践搭建基于vm虚拟机的集群环境,学习大数据相关知识。 在搭建zookeeper的时候,出现启动失败的情况,如下是遇到及解决的三个问题 1.Zookeeper启动失败(java.net.B...
  • weixin_37550903
  • weixin_37550903
  • 2017-09-26 09:20
  • 268

zookeeper启动失败报错分析

在查看zookeeper启动状态时,会遇到这样一个情况 [root@master bin]# zkServer.sh status JMX enabled by default Using confi...
  • kjsayn
  • kjsayn
  • 2016-05-07 15:50
  • 677

sh zkServer.sh status运行出错的问题解决可能办法

如果通过查询zookeeper的结点角色可以通过sh zkServer.sh status 执行   JMX enabled by default Using config: /opt/zook...
  • qiuyepiaoling
  • qiuyepiaoling
  • 2015-02-05 09:54
  • 1012
    个人资料
    • 访问:19486次
    • 积分:632
    • 等级:
    • 排名:千里之外
    • 原创:36篇
    • 转载:30篇
    • 译文:0篇
    • 评论:4条
    最新评论