zookeeper无法启动_悦动启动困难已解决

2022-11-01 16:33:13 浏览数 (1)

zookeeper启动成功后zkServer.sh status出错


一、问题出现情形

代码语言:javascript复制
运行zookeeperd后显示启动成功:

JMX enabled by default
Using config: /data/programfiles/zookeeper-3.4.5/bin/../conf/zoo.cfg
StarTIng zookeeper ... STARTED

但用zkServer.sh status查看,反馈如下:

JMX enabled by default
Using config: /data/programfiles/zookeeper-3.4.5/bin/../conf/zoo.cfg

Error contacTIng service. It is probably not running.

二、查看问题原因

代码语言:javascript复制
查看zookeeper.out文件(默认在zookeeper目录下)
vim zookeeper.out
在底部可看到报错(部分截取):
23 00:59:07,068 [myid:1] - WARN  [WorkerSender[myid=1]:QuorumCnxManager@382] - Cannot open channel to 2 at election address /192.168.110.127:3888
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:368)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:341)
at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:449)
at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:430)
at java.lang.Thread.run(Thread.java:744)
2016-08-23 00:59:07,074 [myid:1] - WARN  [WorkerSender[myid=1]:QuorumCnxManager@382] - Cannot open channel to 3 at election address /192.168.110.126:3888
java.net.ConnectException: Connection refused

三、问题排查

(原因分析)

1. java环境

查看jdk版本是否与zookeeper版本兼容

代码语言:javascript复制
java -version
2.排查端口占用
代码语言:javascript复制
netstat -apn | grep 2181   #默认2181端口为服务端提供端口

备注:若集群未启动 则不应该有端口占用

代码语言:javascript复制
kill -9 pid                #pid为占用端口的进程id号
3.排除网卡问题
代码语言:javascript复制
ip addr

备注:如果为物理地址则 重启网卡

代码语言:javascript复制
service network restart
4.排除网络问题
代码语言:javascript复制
ping ip               #ping其他节点主机 若zoo.cfg 使用域名则用域名

备注:无ping命令则安装 yum install iputils-ping 若有问题则 host映射问题

5.排查节点配置信息

dataDir 是否存在 myid文件内容与 service.x 中x对应

例如:zk01 其对应service.x 则该目录下myid内容为1

6.防火墙拦截端口
代码语言:javascript复制
systemctl status firewalld.service
代码语言:javascript复制
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #禁止启动防火墙

总的来说,一般就是这六点原因:

第一,zoo.cfg文件配置出错:dataLogDir指定的目录未被创建;

第二,myid文件中的整数格式不对,或者与zoo.cfg中的server整数不对应

第三,防火墙未关闭;

第四,2181端口被占用;

第五,zoo.cfg文件中主机名出错;

第六,hosts文件中,本机的主机名有两个对应,只需保留主机名和ip地址的映射


本人最终未得以解决,希望找的这些解决方案对大家有用吧~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179702.html原文链接:https://javaforall.cn

0 人点赞