Zookeeper日志文件&事务日志&数据快照

2020-07-06  本文已影响0人  专职掏大粪

Zookeeper持久化两类数据,Transaction以及Snapshot,logDir存储transaction命令,dataDir存储snap快照,其下子目录名称以version-2命名,子目录内部文件是分别以log.zxid和snapshot.lastProcessedZxid命名,每个目录下可以有很多个这样的文件,Transaction文件的文件名中zxid是文件中所有命令中zxid最小的zxid,而Snapshot中的lastProcessedZxid是最后一个操作的zxid。

它们的路径配置在/opt/zookeeper/node0/zookeeper-3.4.6/conf的zoo.cfg文件中

dataDir=/opt/zookeeper/node0/zookeeper-3.4.6/data

dataLogDir=/opt/zookeeper/node0/zookeeper-3.4.6/log

这里需要说明log4j日志文件&事务日志的不同,事物日志类似于mysql的binlog可以做恢复数据用

image.png

查看事务日志发现是二进制的,那么怎么查看呢?

使用Zookeeper自带的LogFormatter工具类转换

java -classpath .:lib/slf4j-api-1.6.1.jar:zookeeper-3.4.6.jar org.apache.zookeeper.server.LogFormatter log/version-2/log.400000001

java -classpath :/usr/local/datacenter/zookeeper/lib/slf4j-api-1.6.1.jar:/usr/local/datacenter/zookeeper/zookeeper-3.4.9.jar org.apache.zookeeper.server.LogFormatter /zookeeper_file/logs/version-2/log.300000336

image.png

使用Zookeeper自带的LogFormatter工具类查看snapshot

java -classpath .:lib/slf4j-api-1.6.1.jar:zookeeper-3.4.6.jar org.apache.zookeeper.server.SnapshotFormatter data/version-2/snapshot.b0000003d

image.png

可以看到一个snapshot文件是内存的全量快照,而不是像事物日志那样以增量的方式持久化到磁盘。

而日志文件则是使用slf4g做为执行过程打印的日志,可以指定debug/info/warn/error的输出级别
————————————————
版权声明:本文为CSDN博主「浅蓝铯的泪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hongshun0651140/java/article/details/49735969

[ZooKeeper运维之数据文件和事务日志]
(https://www.xuebuyuan.com/3232743.html)

上一篇 下一篇

猜你喜欢

热点阅读