2013-07-24 51 views
2

我正在運行一個小型羣集,其中包含兩個HBase 0.94.7區域服務器。我發現通過區域服務器的加載請求非常不平衡。從網絡用戶界面,我得到:區域服務器負載不均衡的HBase區域

Region1: numberOfOnlineRegions=1, usedHeapMB=26, maxHeapMB=3983 
Region2: numberOfOnlineRegions=22, usedHeapMB=44, maxHeapMB=3983 

該region2被串聯爲主。我檢查了負載平衡器已打開。我在主日誌中找到一些日誌:

INFO org.apache.hadoop.hbase.master.LoadBalancer: Skipping load balancing because balanced cluster; servers=2 regions=1 average=0.5 mostloaded=1 leastloaded=0 
DEBUG org.apache.hadoop.hbase.master.LoadBalancer: Balance parameter: numRegions=10, numServers=2, max=5, min=5 
INFO org.apache.hadoop.hbase.master.LoadBalancer: Calculated a load balance in 12ms. Moving 5 regions off of 1 overloaded servers onto 1 less loaded servers 
DEBUG org.apache.hadoop.hbase.master.LoadBalancer: Balance parameter: numRegions=8, numServers=2, max=4, min=4 
INFO org.apache.hadoop.hbase.master.LoadBalancer: Calculated a load balance in 0ms. Moving 4 regions off of 1 overloaded servers onto 1 less loaded servers 
INFO org.apache.hadoop.hbase.master.LoadBalancer: Skipping load balancing because balanced cluster; servers=2 regions=1 average=0.5 mostloaded=1 leastloaded=0 
INFO org.apache.hadoop.hbase.master.HMaster: balance hri=LogTable,\x00\x00\x01\xE8\x00\x00\[email protected]\x09\xB2\xBA4$\xC3Oe,1374591174086.65391b7a54e9c8e85a3d94bf7627fd20., src=region2,60020,1374587851008, dest=region1,60020,1374587851018 
DEBUG org.apache.hadoop.hbase.master.AssignmentManager: Starting unassignment of region LogTable,\x00\x00\x01\xE8\x00\x00\[email protected]\x09\xB2\xBA4$\xC3Oe,1374591174086.65391b7a54e9c8e85a3d94bf7627fd20. (offlining) 

看來負載不能從區域2到區域1平衡。我不知道這是否是配置問題?我應該檢查region1的哪個參數?

感謝

回答

1

您使用順序rowkeys,如時間戳嗎?如果是這樣的話,你可能最終與RegionServer的Hotspotting,把服務器上的負載不均衡。如果可以,請避免使用順序鍵。如果無法創建預分割表格。

+0

感謝您的回覆。我的rowkey由ID,日誌日期和生成的散列值組成。我不確定這是順序行鍵的情況。如果是這樣,我如何創建預分割表? –

+0

ID是否是順序的?查看這些預分割表的鏈接:http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/util/RegionSplitter.html和http://hbase.apache .org/book/perf.writing.html – Tariq

+0

這些ID不是順序的。這很像日誌類型。實際上,我現在關閉了負載均衡,因爲我發現一旦開啓,我在這裏發佈了另一個嚴重問題:[HMaster aborted](http://stackoverflow.com/questions/17792619/fatal-master-hmaster-unexpected -state-不能過境,它到離線)。你能看看這個問題嗎?在我看來,其他地區的服務器不能正常工作。 –

0

如果你的rowkey由ID,日期和散列值組成,你可以使rowkey:hashvalue + date。

+0

現在更改rowkey是不可能的。我真正的問題實際上是另一個區域服務器不能正常工作看到這篇文章[HMaster中止](http://stackoverflow.com/questions/17792619/fatal-master-hmaster-unexpected-state-cannot-transit-it-to-離線) –