Hbase读写流程:整体写入流程
分析:
put ns:tbname,rowkey,cf:col,value
step1:获取元数据
表的元数据:hbase:meta表中
问题:如果要往一张表写入数据,必须先读meta表,如何知道meta的地址?
解决:请求zk,meta表的地址存储在zk中
step2:找到对应的Region
step3:写入数据
step1:获取元数据
客户端请求Zookeeper,获取meta表所在的regionserver的地址
读取meta表的数据:获取所有表的元数据
step2:找到对应的Region
根据meta表中的元数据,找到表对应的所有的region
根据region的范围和写入的Rowkey,判断需要写入具体哪一个Region
根据region的Regionserver的地址,请求对应的RegionServer
step3:写入数据
请求RegionServer写入对应Region:根据Region的名称来指定写入哪个Region根据列族判断写入哪一个具体的Store先写入WAL:Hlog预写日志中
写入对应Store的MemStore中MemStore