1 网络问题。排查防火墙
java.net.NoRouteToHostException: 没有到主机的路由 (Host unreachable)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:558)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:610)
at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:838)
at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:957)
解决步骤:问题排查 7 ->[2、6] ->重启集群
2 .1初次启动。
解决步骤:问题排查1–>2–>3–>4–>5–>7–>重启集群
备注:初次启动 个个环节都有可能有问题 如果有报错信息可以针对性解决
2.2 重新启动。
解决步骤:暂停集群–>2–>6–>7–>重启集群
备注:重新启动主要是,节点配置信息问题以及防火墙问题。需要按顺序,暂停zookeeper,kill进程,删除节点信息,关闭防火墙,再次启动集群
3 问题排查
1 java环境
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 删除节点残留信息
rm -rf version-2/ zookeeper_server.pid
7 防火墙拦截端口
systemctl status firewalld.service
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #禁止启动防火墙
作者:Mars_Bug
来源:CSDN
原文:https://blog.csdn.net/qq_22211217/article/details/80639492
我遇到的问题是服务器环境全新,java环境变量没配好,重新安装JDK,在etc/profile中填入以下内容
export JAVA_HOME=/home/centos/soft/jdk
export CLASSPATH=.:
J
A
V
A
H
O
M
E
/
l
i
b
/
d
t
.
j
a
r
:
JAVA_HOME/lib/dt.jar:
JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
再执行source /etc/profile即可