HBase宕机分为HMaster宕机和HRegionServer宕机
- HMaster宕机:
HMaster没有单点问题,HBase中可以启动多个HMaster,通过ZooKeeper的选举机制保证总有一个HMaster运行及对外提供服务。
- HRegionServer宕机:
当HRegionServer宕机时,HMaster会将其所管理的region重新分布到其他活动的HRegionServer上,同时将该HRegionServer上存在MemStore中还未持久化到磁盘中的数据通过WAL重播进行恢复,由于数据和日志都持久在HDFS中,该操作不会导致数据丢失所以数据的一致性和安全性是有保障的。但是重新分配的region需要根据日志恢复原RegionServer中的内存MemoryStore表,这会导致宕机的region在这段时间内无法对外提供服务。而一旦重分布,宕机的节点重新启动后就相当于一个新的RegionServer加入集群,为了平衡,需要再次将某些region分布到该server。