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