设为首页 收藏本站
查看: 1608|回复: 0

[经验分享] zookeeper不能正常启动

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-12-27 11:00:05 | 显示全部楼层 |阅读模式
一、错误信息:zookeeper进程存在,但状态为not running,如下:
1
2
3
4
5
6
7
8
[iyunv@app1 bin]# ps -ef|grep 'zookeeper'
root      2338     1  0 12:31 pts/6    00:00:35 /opt/jdk1.7.0_80/bin/java -Dzookeeper.log.dir=/usr/local/zookeeper-3.5.1-alpha/bin/../logs -Dzookeeper.log.file=zookeeper-root-server-app1.log -Dzookeeper.root.logger=INFO,CONSOLE -XX:+HeapDumpOnOutOfMemoryError -XX:OnOutOfMemoryError=kill -9 %p -cp /usr/local/zookeeper-3.5.1-alpha/bin/../build/classes:/usr/local/zookeeper-3.5.1-alpha/bin/../build/lib/*.jar:/usr/local/zookeeper-3.5.1-alpha/bin/../lib/slf4j-log4j12-1.7.5.jar:/usr/local/zookeeper-3.5.1-alpha/bin/../lib/slf4j-api-1.7.5.jar:/usr/local/zookeeper-3.5.1-alpha/bin/../lib/servlet-api-2.5-20081211.jar:/usr/local/zookeeper-3.5.1-alpha/bin/../lib/netty-3.7.0.Final.jar:/usr/local/zookeeper-3.5.1-alpha/bin/../lib/log4j-1.2.16.jar:/usr/local/zookeeper-3.5.1-alpha/bin/../lib/jline-2.11.jar:/usr/local/zookeeper-3.5.1-alpha/bin/../lib/jetty-util-6.1.26.jar:/usr/local/zookeeper-3.5.1-alpha/bin/../lib/jetty-6.1.26.jar:/usr/local/zookeeper-3.5.1-alpha/bin/../lib/javacc.jar:/usr/local/zookeeper-3.5.1-alpha/bin/../lib/jackson-mapper-asl-1.9.11.jar:/usr/local/zookeeper-3.5.1-alpha/bin/../lib/jackson-core-asl-1.9.11.jar:/usr/local/zookeeper-3.5.1-alpha/bin/../lib/commons-cli-1.2.jar:/usr/local/zookeeper-3.5.1-alpha/bin/../zookeeper-3.5.1-alpha.jar:/usr/local/zookeeper-3.5.1-alpha/bin/../src/java/lib/*.jar:/usr/local/zookeeper-3.5.1-alpha/bin/../conf::/opt/jdk1.7.0_80/lib/dt.jar:/opt/jdk1.7.0_80/lib/tools.jar:/opt/jdk1.7.0_80/jre/lib -Xmx1000m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain /usr/local/zookeeper-3.5.1-alpha/bin/../conf/zoo.cfg
root      3264  1896  0 14:17 pts/2    00:00:00 grep zookeeper
[iyunv@app0 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.5.1-alpha/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.



二、网上搜到了几个解决办法:

1,打开zkServer.sh 找到status)

STAT=`echo stat | nc localhost $(grep clientPort "$ZOOCFG" | sed -e ‘s/.*=//‘) 2> /dev/null| grep Mode`
在nc与localhost之间加上 -q 1 (是数字1而不是字母l)
如果已存在则去掉
注:因为我用的zookeeper是3.4.5版本,所以在我的zkServer.sh脚本文件里根本没有这一行,所以没有生效

2,调用sh zkServer.sh status 遇到这个问题。百度,google了后发现有人是修改sh脚本里的一个nc的参数来解决,可在3.4.5的sh文件里并没有找到nc的调用。配置文档里指定的log目录没有创建导致出错,手动增加目录后重启,问题解决。
注:我想不是日志的问题所以这个方法根本就没有试

3,创建数据目录,也就是在你zoo.cfg配置文件里dataDir指定的那个目录下创建myid文件,并且指定id,改id为你zoo.cfg文件中server.1=localhost:2888:3888中的    1.只要在myid头部写入1即可.
注:发现网上很多人用这个办法解决了自己的问题,但是我的myid文件配置没有问题,所以这个也没有解决我的问题

4 因为防火墙没有关闭。关闭防火墙:

  #查看防火墙状态

   service iptables status

  #关闭防火墙
   service iptables stop
  #查看防火墙开机启动状态
   chkconfig iptables --list
  #关闭防火墙开机启动
   chkconfig iptables off

5 没有建立主机和ip之间的映射关系。

  建立主机和ip之间映射关系的命令为 vim /etc/hosts   在文件的末端加入各个主机和ip地址之间的映射关系就可以了。

  注意:只有在建立了映射关系之后,才可以将在同一个网段下的机器利用主机名进行文件传递。问题解决!

三、我遇到的问题采用第四种方式得到解决,因为停电主机宕机,主机重启后防火墙为打开状态
1、zookeeper集群配置

1
2
3
4
5
6
7
server.1=zk-master:2888:3888:participant
server.2=zk-slave1:2888:3888:participant
server.3=zk-slave2:2888:3888:participant
[iyunv@zk-master conf]# cat /etc/hosts
192.168.1.205 zk-master
192.168.1.155 zk-slave1
192.168.1.154 zk-slave2



2、问题
启动顺序为:205--155--154
205的zookeeper状态为
1
2
3
4
5
[iyunv@app0 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.5.1-alpha/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.



155和154的主机状态分别是leader和follower.
注意:集群模式要所有主机全部启动才能分出主从,否则单独启动一台主机,状态仍为not running。
此时,从windows doc下执行telnet 192.168.1.205 2181 不能连接,telnet 192.168.1.205 2181连接正常。
3、解决
排除了n多原因(这其中也包括myid文件找不到了,新建了一个,但问题最终没解决,可见还有其他问题),把问题锁定在防火墙上,查看防火墙状态如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//此时防火墙为启动状态
[iyunv@zk-master bin]# service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
5    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination  

  
//执行防火墙关闭命令
[iyunv@app0 bin]# service iptables stop


//此时防火墙为关闭状态
[iyunv@app0 bin]# service iptables status
表格:filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination



再次在windows doc下执行telnet 192.168.1.205 2181,能正常连接
linux下执行 ./zkServer.sh status,状态正常,为follower.

备注:当配置的master不能正常启动时,zookeeper会随机选择一台slave作为master。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-320172-1-1.html 上篇帖子: zookeeper安装 下篇帖子: CentOS 7 安装Mesos+Marathon+Zookeeper集群
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表