ZooKeeper的事务日志和快照

客户端对ZK的更新操作都是永久的,不可回退的,也就是说,一旦客户端收到一个来自server操作成功的响应,那么这个变更就永久生效了。为做到这点,ZK会将每次更新操作以事务日志的形式写入磁盘,写入成功后才会给予客户端响应。明白这点之后,你就会明白磁盘的吞吐性能对于ZK的影响了,磁盘写入速度制约着ZK每个更新操作的响应。

为了尽量减少ZK在读写磁盘上的性能损失,可以考虑使用单独的磁盘作为事务日志的输出(使用单独的挂载点用于事务日志的输出)。事务日志的写性能确实对ZK性能,尤其是更新操作的性能影响很大,所以想办法搞到一个单独的磁盘!ZK的事务日志输出是一个顺序写文件的过程,本身性能是很高的,所以尽量保证不要和其它随机写的应用程序共享一块磁盘,尽量避免对磁盘的竞争。


配置文件中的dataDir目录指定了ZK的数据目录,用于存储ZK的快照文件(snapshot)。

默认情况下,ZK的事务日志也会存储在这个目录中。在完成若干次事务日志之后(在ZK中,凡是对数据有更新的操作,比如创建节点,删除节点或是对节点数据内容进行更新等,都会记录事务日志),ZK会触发一次快照(snapshot),将当前server上所有节点的状态以快照文件的形式dump到磁盘上去,即snapshot文件。这里的若干次事务日志是可以配置的,默认是100000,配置参数 snapCount。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ZooKeeper快照是一种数据格式,用于将默认的快照数据文件转换成可视化的数据内容。可以使用ZooKeeper提供的快照数据格式化工具org.apache.zookeeper.server.SnapshotFormatter来实现。使用方法如下:\[2\] java -classpath .:slf4j-api-1.7.25.jar:zookeeper-3.4.14.jar org.apache.zookeeper.server.SnapshotFormatter version-2/快照文件 其中,version-2是快照数据文件的路径。这个命令将会将快照数据文件转换成可视化的数据内容。 另外,如果你想查看ZooKeeper事务日志文件中的内容,可以使用LogFormatter工具。假设ZooKeeper安装目录为/usr/local/zookeeper事务日志文件为log.100000001,可以使用以下命令来查看内容:\[3\] java -cp /usr/local/zookeeper/zookeeper-3.4.12.jar:/usr/local/zookeeper/lib/slf4j-api-1.7.25.jar org.apache.zookeeper.server.LogFormatter /usr/local/zookeeper/data/version-2/log.100000001 这个命令将会显示log.100000001文件中的内容。 #### 引用[.reference_title] - *1* *3* [ZooKeeper系列(5):ZooKeeper日志快照](https://blog.csdn.net/weixin_33918114/article/details/85998909)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Zookeeper--数据快照snapshot](https://blog.csdn.net/cold___play/article/details/106127594)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值