大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
zookeeper启动成功后zkServer.sh status出错
一、问题出现情形
运行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.
二、查看问题原因
查看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版本兼容
java -version
2.排查端口占用
netstat -apn | grep 2181 #默认2181端口为服务端提供端口
备注:若集群未启动 则不应该有端口占用
kill -9 pid #pid为占用端口的进程id号
3.排除网卡问题
ip addr
备注:如果为物理地址则 重启网卡
service network restart
4.排除网络问题
ping ip #ping其他节点主机 若zoo.cfg 使用域名则用域名
备注:无ping命令则安装 yum install iputils-ping 若有问题则 host映射问题
5.排查节点配置信息
dataDir 是否存在 myid文件内容与 service.x 中x对应
例如:zk01 其对应service.x 则该目录下myid内容为1
6.防火墙拦截端口
systemctl status firewalld.service
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #禁止启动防火墙
总的来说,一般就是这六点原因:
第一,zoo.cfg文件配置出错:dataLogDir指定的目录未被创建;
第二,myid文件中的整数格式不对,或者与zoo.cfg中的server整数不对应
第三,防火墙未关闭;
第四,2181端口被占用;
第五,zoo.cfg文件中主机名出错;
第六,hosts文件中,本机的主机名有两个对应,只需保留主机名和ip地址的映射
本人最终未得以解决,希望找的这些解决方案对大家有用吧~
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/179702.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...