标签:配置 二维 过程 问题 打开 时间 文件合并 就是 row
在HBase中HMaster负责监控HRegionServer的生命周期,均衡RegionServer的负载,如果HMaster挂掉了,整个HBase集群就出问题了,所以HBase支持对HMaster的高可用配置。
高可用配置是为了解决主从架构的单点失效故障问题。所以要对Master进行一个热备。
如何配置,到时候自己搜索一下。
每一个Region都维护着StartRow到EndRow之间的数据,如果加入的数据符合某个Region维护的RowKey范围,则该数据交给这个Region。依照这个原则,我们可以将数据所要投放的分区提前大致的规划好,以提高HBase性能。
//自定义算法,产生一系列 hash 散列值存储在二维数组中
byte[][] splitKeys = 某个散列值函数
//创建 HbaseAdmin 实例
HBaseAdmin hAdmin = new HBaseAdmin(HbaseConfiguration.create());
//创建 HTableDescriptor 实例
HTableDescriptor tableDesc = new HTableDescriptor(tableName);
//通过 HTableDescriptor 实例和散列值二维数组创建带有预分区的 Hbase 表
hAdmin.createTable(tableDesc, splitKeys);
数据存储在哪个分区,取决于RowKey处于哪个预分区的区间内,设计RowKey的主要目的,就是让数据均匀的分布于所有的region中,在一定程度上防止数据倾斜。
将原先的RowKey哈希成随机数,以均分分布,防止数据倾斜
2020变成0202,一定程度上,也是生成一个随机数,用于均匀分布
将要排列的数据加入RowKey
HBase操作过程中需要大量的内存开销,一般会分配整个可用内存的70%给HBase的Java堆。
当MemStore达到阈值,将数据Flush进StoreFile,compact机制把小文件合并成大文件,split则是当Region达到阈值,一分为二
标签:配置 二维 过程 问题 打开 时间 文件合并 就是 row
原文地址:https://www.cnblogs.com/chenshaowei/p/12493635.html