本文共 1084 字,大约阅读时间需要 3 分钟。
1、regions
Hbase表按照 rowkey来水平划分region块。每一个region块包括start rowkey和end rowkey,region是由regionserver管理,
regionserver把region块分配到集群的各个节点中,对数据提供读和写的功能。当一个region变的
太大的时候,它会分裂成两个子Region。
ps:一个regionserver大概能管理1000个region,一个region大小为1gb(默认)
2、master
Hbase是主从架构,主节点是Hmaster,从节点是HregionServers
master负责region的划分和DDL操作,协调regionserver,提供创建、更新、删除表的操作
HregionServers是真正的存储数据
3、zookeeper
Hbasae需求zookeeper,Zookeeper用于管理master元数据,regionServer和active Hmaster通过会话连接到zookeeper
,zookeeper通过心跳维护活动
4、regionServer运行在HDFS在DataNode,需求一下组件
WAL:预习日志文件,分布式文件系统的文件,WAL用于存储未保存的新数据,用于故障恢复
Blockcache:读取缓存
MemStore:写入缓存
5、Hbase写入数据步骤
1》当客户端发起请求的时候,第一步向WAL中写入数据
2》当数据写入WAL,数据再写入MemStore中,然后返回信息给客户端
6、Store
一个region根据列簇来分为多个store,而一个Store有一个memstore和0个或者多个Hfile
MemStore:将更新的内容排序,并且以keyvalue的形式存储到内存中,与Hfile相同
Hfile:当memstore的数据累积到一定阈值的时候,将会形成新的Hfile文件
7、Hbase Minor Compaction
Hbase会自动的选择一些较小的Hfile,将它们重写成更少并且更大的Hfile,这个过程称为
Minor Compaction,通过将较小的文件重写成较少但是较大的文件来减少文件的数量,
8、HBase Major Compaction
major compaction将所有的Hfile合并并重写到一个Hfile中,每个列簇对应一个这样的Hfile
,并且在这个过程中,删除已删除或者过期的cell,但是由于这个过程会发生大量的磁盘I/O
和网络流量,通常在周末或者晚上执行此操作
转载地址:http://cpahn.baihongyu.com/