HRegionServer 宕机如何处理?

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,如果有则进行恢复。


蓝海大脑 京ICP备18017748号-1