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-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".

这个的问题原因后来在上 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

最后执行这个就成功了

快照日志

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

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

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM