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
>