@zhangyy
2020-12-08T07:19:56.000000Z
字数 1607
阅读 322
大数据运维系列
高可用高扩展强一致强一致性高可用高扩展海量数据存储支持PB级百万列存储、非结构化存储高并发、低延迟千万级高并发,毫秒级延迟自动分配HBase表通过区域分布在集群上,随着数据的增长,区域会自动分割和重新分布


HMaster管理用户对Table的增、删、改、查操作管理HRegionServer的负载均衡,调整Region分布在Region Split后,负责新Region的分配在HRegionServer停机后,负责失效HRegionServer 上的Regions迁移----HRegionServer主要负责响应用户I/O请求,向HDFS文件系统中读写数据,是HBase中最核心的模块HRegionTable在行的方向上分隔为多个Region。Region是HBase中分布式存储和负载均衡的最 小单元,即不同的region可以分别在不同的Region Server上,但同一个Region是不会拆分到多个server上。HStoreHStore是HBase中存储的核心,每个store保存一个columns family,一个HStore由一个MemStore 和0个或多个StoreFile组成MemStore一个写缓存(In Memory Sorted Buffer),所有数据的写在完成WAL日志写后,会 写入MemStore中,由MemStore根据一定的算法将数据Flush到地层HDFS文件中(HFile),通常每个HRegion中的每个 Column Family有一个自己的MemStoreHFile用于存储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是SortedMemory Buffer,用户写入的数据首先会放入MemStore,当MemStore满了以后会Flush成一个StoreFile(底层实现是HFile)。


HRegion是Hbase中分布式存储和负载均衡的最小单元。最小单元就表示不同的Hregion可以分布在不的Hregionserver上,但一个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上
