zookeeper 版本:3.5.5
1 問題
zookeeper 查看日誌/快照文件,執行日誌可視化命令:
# 查看快照文件
java -cp ../../zookeeper-3.5.5/lib/zookeeper-3.5.5.jar;../../zookeeper-3.5.5/lib/slf4j-api-1.7.25.jar
org.apache.zookeeper.server.SnapshotFormatter snapshot.xxxx
# 查看log文件
java -cp ../../zookeeper-3.5.5/lib/zookeeper-3.5.5.jar;../../zookeeper-3.5.5/lib/slf4j-api-1.7.25.jar
org.apache.zookeeper.server.LogFormatter log.xxxx
報錯:
java.lang.NoClassDefFoundError: org/apache/jute/InputArchive
2 解決
命令中加上zookeeper-jute-3.5.5.jar,但是又報如下錯誤:
java.lang.NoClassDefFoundError: org/apache/log4j/Level
此時命令中再加上log4j-1.2.17.jar 包,最終的可視化命令如下:
java -cp ~/zookeeper-3.5.5/lib/zookeeper-3.5.5.jar:
~/zookeeper-3.5.5/lib/zookeeper-jute-3.5.5.jar:
~/zookeeper-3.5.5/lib/slf4j-api-1.7.25.jar:
~/zookeeper-3.5.5/lib/slf4j-log4j12-1.7.25.jar:
~/zookeeper-3.5.5/lib/log4j-1.2.17.jar
org.apache.zookeeper.server.SnapshotFormatter snapshot.xxxx
輸出快照文件結果如下,記錄了節點的快照狀態:
執行log文件對應的可視化命令,輸出結果如下:
和快照文件不同的是,log 文件記錄了客戶端操作的命令記錄。