面试题答案
一键面试- ZooKeeper:
- 角色:作为HBase的分布式协调服务组件。它存储HBase的元数据信息,如RegionServer的状态、Region分配情况等。在故障恢复时,ZooKeeper帮助集群快速感知到RegionServer的故障,并提供一致性的协调服务,确保集群中各节点对于故障的认知一致,防止脑裂等问题,维护系统的整体稳定性和安全性。
- HLog(Write - Ahead Log):
- 角色:HLog是HBase的预写式日志。当数据写入HBase时,首先会写入HLog。在RegionServer发生故障时,HLog用于数据恢复。通过重放HLog中的记录,可以将故障前未持久化到StoreFile的数据重新写入,确保数据的完整性和一致性,从而维护数据的安全性。
- Master:
- 角色:HBase的Master节点负责管理RegionServer,监控它们的状态。当检测到RegionServer故障时,Master会重新分配故障RegionServer上的Region到其他正常的RegionServer上,保证数据的可用性。同时,Master也会协调处理HLog的恢复过程,确保数据恢复的正确执行,维护系统的正常运行和数据安全。
- RegionServer:
- 角色:RegionServer负责实际的数据存储和读写操作。在故障恢复过程中,RegionServer在重启后,会利用本地的HLog进行数据恢复,将未持久化的数据写入到MemStore进而刷写到StoreFile。此外,RegionServer还会与Master进行交互,汇报自身恢复状态,并接收Master分配的Region,重新提供数据服务,维护数据的可用性和安全性。