在CentOS上进行Zookeeper故障排查可按以下步骤操作:
检查服务状态
sudo systemctl status zookeeper # 查看服务是否运行
sudo systemctl start zookeeper # 启动服务(若未运行)
查看日志文件
/var/log/zookeeper/(默认)或配置文件中指定的目录。tail -f zookeeper.out(实时查看)或 cat zookeeper.out(查看全部)。验证配置文件
/etc/zookeeper/conf/zoo.cfg。dataDir(数据目录存在且权限正确)、clientPort(端口未被占用)、server.x(集群节点配置正确)。检查Java环境
java -version # 确保已安装兼容版本(如JDK 8)
echo $JAVA_HOME # 确认环境变量配置正确
排查网络与端口
netstat -tulnp | grep 2181(默认端口),若被占用则修改配置或终止进程。ping 其他节点IP,telnet 测试端口是否可达。检查数据目录权限
chown -R zookeeper:zookeeper /path/to/dataDir # 确保Zookeeper用户有读写权限
chmod -R 750 /path/to/dataDir
使用四字命令监控集群
echo stat | nc localhost 2181 # 查看节点状态
echo mntr | nc localhost 2181 # 查看集群详细指标(需配置监控)
重启服务与验证
sudo systemctl restart zookeeper # 重启服务
./zkServer.sh status # 验证集群状态(非系统服务模式)
注意事项:
myid文件与server.x中的ID匹配。zkServer get-logs、ELK)或参考官方文档。