淘先锋技术网

首页 1 2 3 4 5 6 7

zookeeper的事务日志的格式如 log.xxx, xxx表示顺序序号

我使用的zookeeper版本:3.5.5

事务日志

执行命令 java -cp .:/tmp/zookeeper-3.5.5.jar:/tmp/slf4j-api-1.7.25.jar:/tmp/zookeeper-jute-3.5.5.jar org.apache.zookeeper.server.LogFormatter /tmp/zookeeper/version-2/log.1 > /tmp/zklog.log

ERROR: java.lang.NoClassDefFoundError: org/apache/jute/InputArchive

1024671-20190823105023436-1413138922.png

这个问题的原因是没有加入另外的一个包 zookeeper-jute-3.5.5.jar,这个包在你的zookeeper安装目录下的lib里面

java -cp .:/tmp/zookeeper-3.5.5.jar:/tmp/slf4j-api-1.7.25.jar:/tmp/zookeeper-jute-3.5.5.jar org.apache.zookeeper.server.LogFormatter /tmp/zookeeper/version-2/log.1 > /tmp/zklog.log

ERROR:Failed to load class "org.slf4j.impl.StaticLoggerBinder".

1024671-20190823105226027-1249004838.png

这个的问题原因后来在上 stackoverflow 看他们是怎么查看的,得到灵感应该是日志类的jar包不全导致的

java -cp .:/tmp/zookeeper-3.5.5.jar:/tmp/zookeeper-jute-3.5.5.jar:/tmp/log4j-1.2.17.jar:/tmp/slf4j-api-1.7.25.jar:/tmp/slf4j-log4j12-1.7.25.jar org.apache.zookeeper.server.LogFormatter /tmp/zookeeper/version-2/log.1 > /tmp/zklog.log

最后执行这个就成功了

1024671-20190823105552262-1011248006.png

快照日志

根据上面读取事务日志的方法执行

java -cp .:/tmp/zookeeper-3.5.5.jar:/tmp/zookeeper-jute-3.5.5.jar:/tmp/log4j-1.2.17.jar:/tmp/slf4j-api-1.7.25.jar:/tmp/slf4j-log4j12-1.7.25.jar org.apache.zookeeper.server.SnapshotFormatter /tmp/zookeeper/version-2/snapshot.0 > /tmp/zksnapshot.log

主要就是格式化的类修改即可
1024671-20190823111352663-1566473188.png

转载于:https://www.cnblogs.com/westlin/p/11398713.html