zookeeper读取事务日志、快照日志

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

zookeeper读取事务日志、快照日志

这个问题的原因是没有加入另外的一个包 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".

zookeeper读取事务日志、快照日志

这个的问题原因后来在上 * 看他们是怎么查看的,得到灵感应该是日志类的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

最后执行这个就成功了

zookeeper读取事务日志、快照日志

快照日志

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

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

主要就是格式化的类修改即可

zookeeper读取事务日志、快照日志

上一篇:ZooKeeper系列(5):ZooKeeper的日志和快照


下一篇:SQL Server 事务以及事务日志综述