Hbase Region 的分裂(Split)
(2016-05-17 13:06:43)
标签:
hbaseregionsplit拆分分裂 |
分类: 大数据 |
Hbase Region 的分裂(Split)
===转===========
预split(pre-splitting)
预split就是在建表时,指定拆分的各key,可以指定多份,在HBase shell下执行就像这样:
create 'test_table', 'f1', SPLITS=> ['a', 'b', 'c']
或用外部文件表示,每一行为一个切分点(key)
$ echo -e "a\nb\nc" >/tmp/splits
create 'test_table', 'f1', SPLITSFILE=>'/tmp/splits'
自动split
如果你之前没听过region还要split也不要紧,HBase会在region量达到一定程度时,自己进行
split。什么时候自动进行split呢,这是根据Split Policy来决定的,0.94之前是一个定值
(ConstantSizeRegionSplitPolicy),之后改成根据一个公式(IncreasingToUpperBoundRegionSplitPolicy)
来计算是否要split
手动split
自动split在前面说了并不如自己管理split靠谱(但这也增加了程序员的运维成本),
如果你也下定决心要自己动手,那还需要修改配置文件hbase-site.xml中的
hbase.hregion.max.filesize(对,就是前面公式里的第二项)为一个较大的值,比如100G。
因此这里需要说下手动split。只需要在HBase shell中执行一条语句:
split 'regionName', 'splitKey'
更多用法可以在HBase shell中查。另外也可以在HBase的GUI管理界面中直接操作,如果split
point不写,相当于只指定了表要被切分,则HBase会自行将表切分一次。经过几次试验,
这类“自动”切分对于少量数据(比如100条)或没有数据的region不会切分, 每个region都会被测试一次要不要切分。
HBase的Split和&Compact分析
Region 拆分策略
Hbase Region的拆分和合并
HBASE配置优化

加载中…