ZooKeeper运维——数据备份与恢复(事务日志+快照日志,万字总结(1)

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
img

正文

	- * [(1)snapCount](#1snapCount_182)
		* [(2)日志清理](#2_188)
	- [4、什么时候触发数据快照](#4_197)
	- * [(1)事务日志写入数量达到阈值snapCount](#1snapCount_201)
		* [(2)新Leader同步数据](#2Leader_209)
+ [五、ZooKeeper启动数据初始化和同步](#ZooKeeper_215)
+ - [1、加载并解析快照日志文件](#1_219)
	- * [(1)加载最新快照文件](#1_223)
		* [(2)解析快照文件](#2_231)
		* [(3)获取最新ZXID(zxid\_for\_snap)](#3ZXIDzxid_for_snap_235)
	- [2、事务日志进行数据修正](#2_241)
	- * [(1)获取zxid\_for\_snap之后提交的事务](#1zxid_for_snap_245)
		* [(2)数据修正](#2_249)
		* [(3)获取最新ZXID校验epoch](#3ZXIDepoch_255)
	- [3、数据同步](#3_265)
	- * [(1)Learner 向 Leader 发送 ACKEPOCH](#1Learner__Leader__ACKEPOCH_269)
		* [(2)Leader 初始化 peerLastZxid、minCommittedLog、maxCommittedLog](#2Leader__peerLastZxidminCommittedLogmaxCommittedLog_273)
		* [(3.1)直接差异化同步(DIFF)](#31DIFF_283)
		* [(3.2)先回滚再差异化同步(TRUNC+DIFF)](#32TRUNCDIFF_301)
		* [(3.3)仅回滚同步(TRUNC)](#33TRUNC_320)
		* [(3.4)全量同步(SNAP)](#34SNAP_328)
+ [六、数据备份与恢复流程](#_341)
+ - [1、为什么需要快照日志](#1_343)
	- [2、数据备份策略](#2_349)
	- [3、数据恢复](#3_359)
+ [七、要点总结](#_373)
+ [八、参考资料](#_389)

一、前言

ZooKeeper存储数据的底层数据结构是LSMLog Structured Merge-tree)。基于LSM 实现的存储引擎有两个显著特点:MVCCMulti-Version Concurrency Control)和存储KV,即所有的更新操作,都是先追加事务日志,然后把key-value存储到内存数据库,注意不是replace,而是保存对一个key-value的多个版本。

ZooKeeper的数据备份与恢复,就用到了其事务日志文件和快照日志文件。快照日志文件是什么概念?为什么要有快照日志文件?

如何做数据备份?如何恢复数据?解开这些疑惑,需要深入了解ZooKeeper底层是如何保证数据一致性和集群启动时如何做初始化数据加载和同步。
我的心冰冰的

二、ZooKeeper顺序一致性

ZooKeeper 专门设计了 ZabZookeeper Atomic Broadcast)协议作为其数据一致性协议。所有写操作和客户端会话管理都以事务方式由 Leader 统一协调,使用两阶段提交的方式,保证数据一致性。

1、ZooKeeper如何处理请求

客户端和 ZooKeeper 集群中的任一服务建立连接

  • 28
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值