HBase读写数据流程
2017-04-09 本文已影响0人
柳仁儿
hbase的系统表
hbase:namespace 存储了hbase中的所有namespace的信息
hbase:meta 存储了hbase中所有的region的信息,包括rowkey范围,region所在的regionserver的地址。
hbase:meta 在zookeeper中,进入zookeeper中查看
读的流程:
1、连接zookeeper,找到meta表所在的regionserver的地址
2、访问对应的regionserver,读meta表的信息
3、通过命令找到rowkey对应的region,得到region的名称
4、访问region所在的regionserver
5、访问对应store 读内存(memstore cache) storefile
写的流程:
1、连接zookeeper,找到meta表所在的regionserver的地址
2、访问对应的regionserver,读meta表的信息
3、通过命令找到rowkey对应的region,得到region的名称
4、访问region所在的regionserver
5、正常情况
WAL(hlog),write ahead log
memstore
flush:将内存中的数据进行溢写到磁盘变成storefile
compact:将多个storefile进行合并,变成一个大文件 等到多个store中的storefile的和达到一定阈值,后进行split(region的等分成两个region,又master分配,当前region消失)