You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Sreeram <sr...@gmail.com> on 2017/04/18 09:21:18 UTC
Balancing a table's regions across region servers
Hi,
I have a requirement where, for one specific table, each region server
always needs to manage at least one region - this table has more
regions that the number of region servers.
Based on HBASE-3373, can I assume that this is taken care
automatically by HBase Balancer?
The version of HBase that I use is HBase 1.2.0-cdh5.8.2
Kindly let me know
Thank you
-Sreeram
Re: Balancing a table's regions across region servers
Posted by Kahlil Oppenheimer <ka...@gmail.com>.
The current StochasticLoadBalancer does not actually handle table skew as
expected (see HBASE-17706 ), but I'm currently working on a patch
(HBASE-17707) that should (hopefully) be merged to master in the next 2
weeks that completely rewrites this logic and ensures the
StochasticLoadBalancer better handles table skew.
-Kahlil
On Tue, Apr 18, 2017 at 8:12 AM Ted Yu <yu...@gmail.com> wrote:
> This is cluster wide config.
>
> > On Apr 18, 2017, at 3:25 AM, Sreeram <sr...@gmail.com> wrote:
> >
> > Thank you Ted for reply.
> >
> > Can the parameter hbase.master.balancer.stochastic.tableSkewCost be
> > set at a table level (for a very small table) ?
> >
> > -Sreeram
> >
> >> On Tue, Apr 18, 2017 at 3:12 PM, Ted Yu <yu...@gmail.com> wrote:
> >> If you look at the patch for HBASE-3373, you would see that there is a
> >> config to enable per table balancing.
> >> This was developed before StochasticLoadBalancer became the default
> >> balancer.
> >>
> >> In StochasticLoadBalancer, you need to increase the weight for
> >> hbase.master.balancer.stochastic.tableSkewCost
> >> Default weight is 35. Consider increasing to 500 range.
> >>
> >> FYI
> >>
> >>> On Tue, Apr 18, 2017 at 2:21 AM, Sreeram <sr...@gmail.com> wrote:
> >>>
> >>> Hi,
> >>>
> >>> I have a requirement where, for one specific table, each region server
> >>> always needs to manage at least one region - this table has more
> >>> regions that the number of region servers.
> >>>
> >>> Based on HBASE-3373, can I assume that this is taken care
> >>> automatically by HBase Balancer?
> >>>
> >>> The version of HBase that I use is HBase 1.2.0-cdh5.8.2
> >>>
> >>> Kindly let me know
> >>>
> >>> Thank you
> >>>
> >>> -Sreeram
> >>>
>
Re: Balancing a table's regions across region servers
Posted by Ted Yu <yu...@gmail.com>.
This is cluster wide config.
> On Apr 18, 2017, at 3:25 AM, Sreeram <sr...@gmail.com> wrote:
>
> Thank you Ted for reply.
>
> Can the parameter hbase.master.balancer.stochastic.tableSkewCost be
> set at a table level (for a very small table) ?
>
> -Sreeram
>
>> On Tue, Apr 18, 2017 at 3:12 PM, Ted Yu <yu...@gmail.com> wrote:
>> If you look at the patch for HBASE-3373, you would see that there is a
>> config to enable per table balancing.
>> This was developed before StochasticLoadBalancer became the default
>> balancer.
>>
>> In StochasticLoadBalancer, you need to increase the weight for
>> hbase.master.balancer.stochastic.tableSkewCost
>> Default weight is 35. Consider increasing to 500 range.
>>
>> FYI
>>
>>> On Tue, Apr 18, 2017 at 2:21 AM, Sreeram <sr...@gmail.com> wrote:
>>>
>>> Hi,
>>>
>>> I have a requirement where, for one specific table, each region server
>>> always needs to manage at least one region - this table has more
>>> regions that the number of region servers.
>>>
>>> Based on HBASE-3373, can I assume that this is taken care
>>> automatically by HBase Balancer?
>>>
>>> The version of HBase that I use is HBase 1.2.0-cdh5.8.2
>>>
>>> Kindly let me know
>>>
>>> Thank you
>>>
>>> -Sreeram
>>>
Re: Balancing a table's regions across region servers
Posted by Sreeram <sr...@gmail.com>.
Thank you Ted for reply.
Can the parameter hbase.master.balancer.stochastic.tableSkewCost be
set at a table level (for a very small table) ?
-Sreeram
On Tue, Apr 18, 2017 at 3:12 PM, Ted Yu <yu...@gmail.com> wrote:
> If you look at the patch for HBASE-3373, you would see that there is a
> config to enable per table balancing.
> This was developed before StochasticLoadBalancer became the default
> balancer.
>
> In StochasticLoadBalancer, you need to increase the weight for
> hbase.master.balancer.stochastic.tableSkewCost
> Default weight is 35. Consider increasing to 500 range.
>
> FYI
>
> On Tue, Apr 18, 2017 at 2:21 AM, Sreeram <sr...@gmail.com> wrote:
>
>> Hi,
>>
>> I have a requirement where, for one specific table, each region server
>> always needs to manage at least one region - this table has more
>> regions that the number of region servers.
>>
>> Based on HBASE-3373, can I assume that this is taken care
>> automatically by HBase Balancer?
>>
>> The version of HBase that I use is HBase 1.2.0-cdh5.8.2
>>
>> Kindly let me know
>>
>> Thank you
>>
>> -Sreeram
>>
Re: Balancing a table's regions across region servers
Posted by Ted Yu <yu...@gmail.com>.
If you look at the patch for HBASE-3373, you would see that there is a
config to enable per table balancing.
This was developed before StochasticLoadBalancer became the default
balancer.
In StochasticLoadBalancer, you need to increase the weight for
hbase.master.balancer.stochastic.tableSkewCost
Default weight is 35. Consider increasing to 500 range.
FYI
On Tue, Apr 18, 2017 at 2:21 AM, Sreeram <sr...@gmail.com> wrote:
> Hi,
>
> I have a requirement where, for one specific table, each region server
> always needs to manage at least one region - this table has more
> regions that the number of region servers.
>
> Based on HBASE-3373, can I assume that this is taken care
> automatically by HBase Balancer?
>
> The version of HBase that I use is HBase 1.2.0-cdh5.8.2
>
> Kindly let me know
>
> Thank you
>
> -Sreeram
>