【问题标题】:HBase region over region servers load not balanced区域服务器上的 HBase 区域负载不平衡
【发布时间】:2013-07-23 17:33:35
【问题描述】:

我正在运行一个包含两个 HBase 0.94.7 区域服务器的小型集群。我发现区域服务器上的负载请求非常不平衡。从 Web UI 中,我得到:

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\x01@\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\x01@\x09\xB2\xBA4$\xC3Oe,1374591174086.65391b7a54e9c8e85a3d94bf7627fd20. (offlining)

似乎无法从region2到region1的负载均衡。不知道是不是配置问题?我应该在 region1 上检查什么参数?

谢谢

【问题讨论】:

    标签: hadoop hbase


    【解决方案1】:

    您是否使用顺序行键,例如时间戳?如果是这种情况,您最终可能会使用 RegionServer Hotspotting,从而给服务器带来不均衡的负载。如果可以,请避免使用顺序键。如果无法创建预拆分表。

    【讨论】:

    • 感谢您的回复。我的 rowkey 由 ID、日志日期和生成的哈希值组成。我不确定是否是顺序行键的情况。如果是这样,我该如何创建预拆分表?
    • ID 是连续的吗?看一下这些预拆分表的链接:hbase.apache.org/apidocs/org/apache/hadoop/hbase/util/…hbase.apache.org/book/perf.writing.html
    • ID 不连续。它很像日志的类型。实际上,我现在关闭了负载平衡,因为我发现一旦它打开,我在这里发布了另一个严重的问题:HMaster aborted。你能看看这个问题吗?在我看来,其他区域服务器无法正常工作。
    【解决方案2】:

    如果您的 rowkey 由 ID、日期和哈希值组成,您可以将 rowkey 设为 :hashvalue+date。

    【讨论】:

    • 现在无法更改行键。我真正的问题实际上是另一个区域服务器无法正常工作看到这篇文章HMaster aborted
    猜你喜欢
    • 1970-01-01
    • 2013-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    相关资源
    最近更新 更多