以下是在Ubuntu上排查Zookeeper故障的常用方法:
检查服务状态
sudo systemctl status zookeeper # 查看服务是否运行
sudo systemctl start zookeeper # 启动服务
查看日志文件
/var/log/zookeeper/zookeeper.out
cat /var/log/zookeeper/zookeeper.out
或 tail -f zookeeper.out
实时查看。验证配置文件
/etc/zookeeper/conf/zoo.cfg
中的 dataDir
(数据目录)、clientPort
(端口)、server.x
(集群节点)等参数是否正确。dataDir
路径存在且进程有读写权限。检查端口与网络
sudo netstat -tuln | grep 2181
(默认端口2181),若被占用需终止进程。sudo ufw allow 2181
开放端口。ping
或 telnet
测试集群节点网络。分析系统资源
free -h
查看内存,df -h
查看磁盘空间,确保资源充足。使用四字命令监控集群
nc
或 telnet
连接端口,执行命令如:
stat
:查看服务器状态(Leader/Follower角色、连接数等)。mntr
:获取详细运行指标(事务处理数、延迟等)。调整日志级别
zoo.cfg
中配置 log4j.configuration
指定日志文件,设置 log4j.rootLogger=DEBUG
获取更详细日志。重启服务与验证
sudo systemctl restart zookeeper
重启服务,并通过 zkServer.sh status
确认状态。参考来源:[1,2,3,4,5,6,7,8,9,10,11]