hbase写数据流程详解
写流程:
1)Client先访问zookeeper,获取hbase:meta表位于哪个Region Server。
2)访问对应的Region Server,获取hbase:meta表,根据读请求的namespace:table/rowkey,查询出目标数据位于哪个Region Server中的哪个Region中。并将该table的region信息以及meta表的位置信息缓存在客户端的meta cache,方便下次访问。
3)与目标Region Server进行通讯;
4)将数据顺序写入(追加)到WAL;
5)将数据写入对应的MemStore,数据会在MemStore进行排序;
6)向客户端发送ack;
7)等达到MemStore的刷写时机后,将数据刷写到HFile。
对一张表进行操作的步骤:
1.查找是谁在维护regionserver
2.regionerver的信息存放在meta表中
3.要知道meta表在哪里就要到zk中取查找
4.从zk会告诉你meta是由那个regionserver维护
5.请i求到rs就会得到meta表
6.得到meta表就会找到一开始请求的regionserver在哪