@zhangyy
2020-12-08T15:19:56.000000Z
字数 1607
阅读 120
大数据运维系列
高可用高扩展强一致
强一致性高可用高扩展
海量数据存储
支持PB级百万列存储、非结构化存储
高并发、低延迟
千万级高并发,毫秒级延迟
自动分配
HBase表通过区域分布在集群上,随着数据的增长,区域会自动分割和重新分布
HMaster
管理用户对Table的增、删、改、查操作
管理HRegionServer的负载均衡,调整Region分布
在Region Split后,负责新Region的分配
在HRegionServer停机后,负责失效HRegionServer 上的Regions迁移
----
HRegionServer
主要负责响应用户I/O请求,向HDFS文件系统中读写数据,是HBase中最核心的模块
HRegion
Table在行的方向上分隔为多个Region。Region是HBase中分布式存储和负载均衡的最 小单元,即不同的region可以分别在不同的Region Server上,但同一个Region是不会拆分到多个server上。
HStore
HStore是HBase中存储的核心,每个store保存一个columns family,一个HStore由一个MemStore 和0个或多个StoreFile组成
MemStore
一个写缓存(In Memory Sorted Buffer),所有数据的写在完成WAL日志写后,会 写入MemStore中,由MemStore根据一定的算法将数据Flush到地层HDFS文件中(HFile),通常每个HRegion中的每个 Column Family有一个自己的MemStore
HFile
用于存储HBase的数据(Cell/KeyValue)。在HFile中的数据是按RowKey、Column Family、Column排序,对相同的Cell(即这三个值都一样),则按timestamp倒序排列
HRegion Server主要负责响应用户的读写请求,内部管理了一系列HRegion对象,每个HRegion对应了Table中的一个Region,Region中由多个Store组成。每个Store对应了Table中的一个列族的存储,Store存储是Hbase 存储的核心了,
其中由两部分组成,一部分是MemStore,一部分是StoreFiles。MemStore是Sorted
Memory Buffer,用户写入的数据首先会放入MemStore,当MemStore满了以后会Flush成
一个StoreFile(底层实现是HFile)。
HRegion是Hbase中分布式存储和负载均衡的最小单元。最
小单元就表示不同的Hregion可以分布在不的Hregion
server上,但一个Hregion是不会拆分到多个server上的;
Table中的所有行都按照row key的字典序排列,HBase使
用RowKey将表水平切割成多个HRegion,从HMaster的
角度, 通过将region切分在许多机器上实现分布式,每个
HRegion都纪录了它的StartKey和EndKey,由于RowKey
是排序的,因而Client可以通过Hmaster快速的定位每个
RowKey在哪个HRegion中
HRegion虽然是分布式存储的最小单元,但并不是
存储的最小单元。事实上,HRegion由一个或者多个
Store组成,每个store保存一个olumns family,每
个Strore又由一个memStore和0至多个StoreFile组
成,StoreFile以HFile格式保存在HDFS上