HBase 写入数据
三个阶段:
- 第一阶段:当 Client 提交 put(增删改)请求后,Hbase 客户端会根据写入的表以及 rowkey 在 Meta Cache 进行查找,如果找到该 rowkey 所在的 RegionServer 以及 Region,就直接进入到第三阶段;如果客户端中没有找到 rowkey 的相关信息,就需要访问 Zookeeper 上的
/hbase/meta-region-server
节点,查找 Habse 元数据所在的 RegionServer。 - 第二阶段:向 hbase:meta 所在的 RegionServer 发送查询请求,获取 hbase:meta 表,根据请求的 namespace:table/rowkey 查找到 rowkey 所在的 RegionServer 以及所在的 Region。将 Region 信息以及 meta 表的位置信息缓存在 Client 的 MetaCache,以便下次访问。
- 第三阶段:Client 根据 rowkey 相关元数据信息将 put 请求发送给目标 RegionServer,RegionServer 接收到请求后,解析出具体的 Region 信息,并将数据写入到目标 Region 的 MemStore,最终向 Client 返回 ack。