元数据管理的高可用性

课程链接:

https://developer.aliyun.com/course/32?spm=a2c6h.17661847.0.0.42686fb2saW1fD

https://developer.aliyun.com/lesson_32_640#_640

image-20201229143335480

image-20201229143348235

主从方式

image-20201229143420012

image-20201229143434662

image-20201229143456067

image-20201229143610485

分布式协议

image-20201229143516471

主从方式和分布式协议对比

image-20201229143646282

image-20201229143657168

HDFS NAMENODE 共享存储

image-20201229143724494

盘古 元数据服务 Raft

image-20201229143757833

选举状态

image-20201229144001997

发起选举请求

image-20201229144017791

其他节点接收到请求将进入锁定状态

image-20201229144031224

如果一个节点的请求被大多数节点接受,则发起publish,将自己的选举结果发送给其余节点

image-20201229144142825

锁定中的elector接收到publish通知则变为secondary状态

image-20201229144251549

发送出publish请求后,节点进入primary状态,并提供主节点服务

image-20201229144357899

主节点与辅助节点间有心跳连接,如果主节点异常,心跳丢失,从节点接收不到心跳会认为主节点宕机

image-20201229144551139

从节点会降级为选举状态,重新进行选举

image-20201229144622545

image-20201229144643267

image-20201229144652189

image-20201229144659694

之前异常的节点恢复后如何重新加入集群

依旧会选举自己为主节点发起propose

image-20201229144738763

当前主节点拒绝该请求,同时将自己是主节点这个信息publish给elector节点

image-20201229144811943

让其升级为secondary状态,重新加入服务

image-20201229144914718

Ceph Metadata Server

image-20201229144954863

数据一致性的保证

image-20201229145019814

Paxos

image-20201229145111257

image-20201229145142337

image-20201229145212782

image-20201229145222215

image-20201229145231700

Raft协议演示过程:

https://raftconsensus.github.io/