HBASE預先分配regions的實現

2021-07-10 01:14:17 字數 1424 閱讀 5729

前面寫了hbase通過預先建立regions,來平衡資料的負載,其中用到了hbase官方的example

但是沒有人告訴你怎麼用

自己試了試用法

主要的就是如何分配rowkey start end之間的關係,因為我的資料的key是md5值,所以我使用了md5的兩段分為300份

public static void main(string agrs) catch (masternotrunningexception e) catch (zookeeperconnectionexception e) catch (ioexception e)

}/**

* 預設情況下hbase建立table會新建乙個region。執行批量匯入,

* 意味著所有的client會寫入這個region,直到這個region足夠大,以至於**。

* 乙個有效的提高批量匯入的效能的方式,是預建立空的region

*/public static boolean createtable(hbaseadmin admin, htabledescriptor table,

byte splits) throws ioexception catch (tableexist***ception e)

}public static byte gethexsplits(string startkey, string endkey,

int numregions)

return splits;

}執行完後大家可以看到http://host:60010/master-status中已經有了numberofonlineregions=101,如果建立2個表則則是201

servername

start time

load

dn1,60020,1329986704703

thu feb 23 16:45:04 cst 2012

requestspersecond=0, numberofonlineregions=201, usedheapmb=62, maxheapmb=995

dn2,60020,1329986707893

thu feb 23 16:45:07 cst 2012

requestspersecond=0, numberofonlineregions=201, usedheapmb=51, maxheapmb=995

namenode,60020,1329986696234

thu feb 23 16:44:56 cst 2012

requestspersecond=0, numberofonlineregions=202, usedheapmb=40, maxheapmb=995

total:

servers: 3

requestspersecond=0, numberofonlineregions=604

HBase之Region上Spilt流程分析

我們知道在memstore達到閥值以後,會進行flushregion操作.那麼在操作完成之後,會對hregion進行檢查,看是否hregion是否已經達到閥值,如果已經達到閥值,則需要對hregion進行split操作。一 檢測hregion是否需要進行split的流程分析 boolean shou...

Hbase均衡Region和許可權管理

查詢namespace為amrcloud中名為powerdata的表的資料 scan amrcloud powerdata 查詢某一條資料 get t1 r1 t1為表名,r1為rowkey,c1為column family 列出所有表 list 列出所有namespace list namespa...

Hbase優化之Region分割設定的問題

hbase優化之region分割設定的問題 hbase一張表可以分別儲存在幾個region上,乙個region又分成了好多store,乙個store又分成了memstore和storefile,當memstore滿64mb後,會把資料flush到disk上而成為storefile,當storefil...