1)ZooKeeper 会监控 HRegionServer 的上下线情况,当 ZK 发现某个HRegionServer 宕机之后会通知 HMaster 进行失效备援;
2)该 HRegionServer 会停止对外提供服务,就是它所负责的 region 暂时停止对外提供服务;
3)HMaster 会将该 HRegionServer 所负责的 region 转移到其他HRegionServer 上,并且会对HRegionServer 上存在 memstore 中还未持久化到磁盘中的数据进行恢复;
4)这个恢复的工作是由 WAL 重播来完成,这个过程如下:
- wal 实际上就是一个文件,存在/hbase/WAL/对应 RegionServer 路径下。
- 宕机发生时,读取该 RegionServer 所对应的路径下的 wal 文件,然后根据不同的 region 切分成不同的临时文件 recover.edits。
- 当 region 被分配到新的 RegionServer 中,RegionServer 读取 region时会进行是否存在 recover.edits,如果有则进行恢复。
发布者:admin,如若转载,请注明出处:https://ai1024.vip/38804.html