以下是在Ubuntu上排查Zookeeper故障的常用方法:
检查服务状态
sudo systemctl status zookeeper # 查看服务是否运行
sudo systemctl start zookeeper # 启动服务
查看日志文件
/var/log/zookeeper/zookeeper.outcat /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]