?描述一下hbase region分裂的过程
?什么是regionserver,如何工作的
?rmi和rpc的区别
hbase
定义
hbase是高性能、高可靠、面向列、可伸缩的分布式Nosql数据存储
结构:
namespace
region
row (由rowkey确定,查询只能按rowkey)
column
cell单元格,由{rowkey,column family:column:qualify,timestamp}确定一个单元格
timestamp(写入hbase的时间)
hbase:meta
本质是一个表,只是被show命令过滤掉。
key:
【table】【region start key,end key】【region id】
value
info:region info(序列化hregion实例)
info:server(port)
info:serverstartcode(进程开始时间)
当表正拆分时,增加两列,info:splitA,info:splitB,代表两个region,对应值是hregion的实例
位置信息保存在zookeeper中
保有所有region的列表
是所有查询的入口
角色:
client
访问meta数据,访问region server,维护此信息在客户端,只有对应region server宕机或者负载重新均衡,重新访问meta
zookeeper
保证任何时候有一个活跃的master
存放meata信息、region的入口
监控region server的上线下线信息给master
存schema信息、table元信息
master
平衡负载,region分配,和管理用户对表的操作
region server
维护region,处理IO
region过大进行切分
region流程
建表时只有一个region,数据先存在memstore(内存中),达到阈值写到storefile(硬盘),storefile数量多了会进行合并一个大的storefile,store存放在store中,一个store对应一个列,多个stroe组成一个region(即有多个列-store,列组),region是hbase最小处理单元,由master调度均衡分布在集群中,一个region中的storefile过大过多,会由master调度等分。
查询时先查询memestore,查不到再去硬盘上的storefile
hbase读写
log-structed merge-tree(LSM树)
关系型数据库
三范式:主键,每列不能再分,外键关联
hbase梳理
最新推荐文章于 2024-09-07 23:29:46 发布