HBase区域划分和预先分区
发布时间
阅读量:
阅读量
Region分裂机制分析
当MemStore中存储的数据量达到设定阈值时,系统将数据写入磁盘,形成一个StoreFile文件。若Region中最大的Store文件尺寸超出预设阈值,该Region将被拆分,划分为两个独立的Region,从而实现对数据访问负载的均衡处理。新生成的Region具体部署位置由HMaster决定。
- RegionServer负责判定本地Region是否需要进行分裂,并启动相关准备工作。首先,在zookeeper路径/hbase/region-in-transition/region-name下创建一个znode节点,并将其状态标记为SPLITTING
- Master通过监听父级region-in-transition znode节点的状态变化,能够及时发现刚刚新增的znode
- RegionServer在HDFS中对应父Region的目录下新建一个名为“.split”的子目录
- RegionServer关闭父Region,并强制刷新缓存中的数据内容,随后在本地的数据结构中标记该Region为不可用状态
- RegionServer在.split目录内分别建立子Region A与B对应的目录及相关的数据结构。接着,对父Region中的每个Store文件进行分割操作,生成两个Reference文件,这些Ref
全部评论 (0)
还没有任何评论哟~
