
正文
hbase设置region个数,hbase中的region
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
hbase预分区与region切割的关系
1、hbase.hregion.max.filesize 设定的region大小,超过了就会split,就会增加一个region,对预分区没什么影响。
2、默认,HBase 在创建表的时候,会自动为表分配一个 Region,正处于混沌时期,start-end key 无边界,所有 RowKey 都往这个 Region里分配。
3、HBase表的列族在创建之初只有一个Region,随着插入数据的增多Region变得越来越大。
4、以fileServer为例,在使用默认的split策略--IncreasingToUpperBoundRegionSplitPolicy 的情况下,16个预分区Region, 则单个Resion容量达到 min(32,50),即32GB时分裂。
5、默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分。
6、保证了负载均衡性。像这样预先创建hbase表分区的方式,称之为预分区。hash(主键)+年月日时(2019062315)这里只取hash(主键)的前6位,使得行键的长度正好是16,也就是8的整数倍,在64位计算机中,效果最好。
相关问答
Q1: HBase的某张表的RowKey划分SplitKey为9,E,a,z,请问该表有几个Region...
HBase中,表会被划分为1…n个Region,被托管在RegionServer中。
HBase 中,表会被划分为..n 个 Region,被托管在 RegionServer 中。
)创建两个子女Region。此时,Parent Region的信息被创建在unassgined路径下,状态为SPLITTING,此时该Region处于Off-line。2)让两个子女Region上线。
region(相当于数据库的分表)可以ms级动态的切分和移动,保证了负载均衡性。
)用户直接通过API指定splitkey,然后进行Region Split 2)HRegionServer上CompactionSplitThread被触发。无论哪种方式,最后的核心处理逻辑都是类似的,都是由SplitTransction来进行。核心操作的步骤为:1)创建两个子女Region。
Q2: 哪个hbaseshell命令可以分配region
1、默认,HBase 在创建表的时候,会自动为表分配一个 Region,正处于混沌时期,start-end key 无边界,所有 RowKey 都往这个 Region里分配。
2、虽然Region分裂后可以提高HBase的读写性能,但是Region分裂过程会对集群网络造成很大的压力,尤其是要分裂的Region尺寸过大、数目过多时,甚至可以使整个集群瘫痪。
3、在HBase中,Region的一个列族对应一个MemStore,通常一个MemStore的默认大小为128MB(我们设置的为256MB),见参数 hbase.hregion.memstore.flush.size 。当可用内存足够时,每个MemStore可以分配128MB的空间。
hbase设置region个数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于hbase中的region、hbase设置region个数的信息别忘了在本站进行查找喔。







