存储
HBase 主要处理两种文件:一种是预写日志(Write-Ahead Log,WAL),另一种是实际的数据文件。这两种文件主要由 HRegionServer 管理。
一个基本的流程是客户端首先联系 ZooKeeper 子集群(quorum)查找行键,通过 ZooKeeper 获取含有 -ROOT- 的 region 服务器,通过 -ROOT- region 服务器可以查询到含有 .META. 表的 region 服务器,最终,通过查询 .META. 服务器来获取客户端查询的行键数据所在的 region 服务器。
在启动 HBase 时,HMaster 负责将所有 region 分配到 HRegion Server 上,其中也包括特别的 -ROOT- 和 .META. 表。
HRegionServer 负责打开 region,并创建对应的 HRegion 实例。当 HRegion 被打开后,它会为每个表的 HColumnFamily 创建一个 Store 实例,这些列族是用户之前创建表时定义的。每