在CentOS上進行Zookeeper故障排查可以按照以下步驟操作:
sudo systemctl status zookeeper
查看Zookeeper服務的當前狀態,包括是否正在運行、啟動時間、運行時間等。/var/log/zookeeper/zookeeper.out
。使用 tail -f /var/log/zookeeper/zookeeper.out
命令查看日志文件內容,分析其中的錯誤信息或異常堆棧。/etc/zookeeper/conf/zoo.cfg
,確保所有參數設置正確,如服務器地址、數據目錄路徑、客戶端連接端口等。java -version
命令檢查Java是否正確安裝。確保防火墻沒有阻止Zookeeper的通信端口(默認是2181)??梢允褂靡韵旅顧z查和修改防火墻設置:
sudo firewall-cmd --list-all
sudo firewall-cmd --zone public --add-port 2181/tcp --permanent
sudo firewall-cmd --reload
如果Zookeeper端口被占用,可以使用以下命令找出占用端口的進程并停止它:
sudo netstat -tuln | grep 2181
sudo ps -p PID -o pid,ppid,cmd,%mem,%cpus
sudo kill PID
stat
, ruok
, mntr
等)來監控集群狀態和調試問題??梢酝ㄟ^ telnet
, nc
或 curl
訪問這些命令。/var/lib/zookeeper
)和日志文件,確保數據完整且沒有損壞。如果需要,可以手動刪除數據目錄下的 version-2
文件夾和 logs
文件夾下的 version-2
文件夾,然后重新啟動Zookeeper。./zkServer.sh restart
命令重啟Zookeeper服務。使用以下命令驗證Zookeeper集群的狀態:
echo stat | nc localhost 2181