You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Brennon Church <br...@getjar.com> on 2012/12/22 00:54:21 UTC

HBase table affinity to host(s)

I'm curious, is there any concept of hosting regions from a given table 
only on a single host or subset of hosts in a cluster?  In our case we 
have a heavily-used table that can cause problems for the older systems 
in our cluster.  Newer systems would have less trouble, so I'd like to 
restrict regions for that one table only to those more powerful servers.

Thanks.

--Brennon


Re: HBase table affinity to host(s)

Posted by Adrien Mogenet <ad...@gmail.com>.
Oh, thanks for that explanation !


On Thu, Dec 27, 2012 at 4:39 PM, Nicolas Liochon <nk...@gmail.com> wrote:

> You don't want the a balancer to move a region to a region server you're
> about to close. And a rolling restart is stressful enough on the system;
> minimizing any extra noise is safer.
> But when a region server dies, its regions are reallocated, whatever the
> balancer settings.
>
> On Thu, Dec 27, 2012 at 4:09 PM, Adrien Mogenet <adrien.mogenet@gmail.com
> >wrote:
>
> > Are you sure ? So why is the balancer disabled before rolling restart ?
>



-- 
Adrien Mogenet
06.59.16.64.22
http://www.mogenet.me

Re: HBase table affinity to host(s)

Posted by Nicolas Liochon <nk...@gmail.com>.
You don't want the a balancer to move a region to a region server you're
about to close. And a rolling restart is stressful enough on the system;
minimizing any extra noise is safer.
But when a region server dies, its regions are reallocated, whatever the
balancer settings.

On Thu, Dec 27, 2012 at 4:09 PM, Adrien Mogenet <ad...@gmail.com>wrote:

> Are you sure ? So why is the balancer disabled before rolling restart ?

Re: HBase table affinity to host(s)

Posted by Adrien Mogenet <ad...@gmail.com>.
Are you sure ? So why is the balancer disabled before rolling restart ?


On Mon, Dec 24, 2012 at 2:04 AM, <yu...@gmail.com> wrote:

> They would move over to live region servers.
>
> Cheers
>
>
>
> On Dec 23, 2012, at 2:59 PM, Brennon Church <br...@getjar.com> wrote:
>
> > I'm curious.  If I disable the hbase balancer, what happens when a
> regionserver goes offline?  Will those regions get moved over to the
> remaining hosts as would normally be the case?  Or will they remain
> unavailable until the balancer is run manually?
> >
> > Thanks.
> >
> > --Brennon
> >
> > On 12/22/12 5:48 AM, Ted Yu wrote:
> >> When region splits, the daughter regions would be placed on the same
> server
> >> as parent region.
> >> You also need to consider the case where new server crashes and its
> regions
> >> are moved to older system.
> >>
> >> In HBASE-5231 <https://issues.apache.org/jira/browse/HBASE-5231> you
> can
> >> find a patch which does per table load balancing. You can modify that
> code
> >> to move regions of selected table to pre-defined group of servers
> >> (specified through configuration).
> >>
> >> Cheers
> >>
> >> On Fri, Dec 21, 2012 at 11:01 PM, Brennon Church <br...@getjar.com>
> wrote:
> >>
> >>> I do allow regions from other tables on the newer servers.  The issue
> >>> stems from a single table that habitually causes hot regions. Not such
> a
> >>> problem on the new servers, but when those regions hit the older
> systems
> >>> bad things happen.  I think the proper long-term solution is to change
> the
> >>> code writing to the table, but that's not something that can be done
> right
> >>> now, so I'm looking for the second best option.
> >>>
> >>> The HBASE-6721 option sounds perfect, if I'm reading it correctly. It
> >>> doesn't quite fit my use case, but would solve the problem regardless.
> >>>
> >>> If I understand the balancer part correctly, a possible but ugly (IMHO)
> >>> option would be to move the region(s) causing trouble over to the more
> >>> powerful servers then disable automatic balancing.  Would region splits
> >>> then remain on the same system as the original region?  If so, it would
> >>> work around the problem but at the expense of having to manually move
> >>> regions around more frequently to keep everything else balanced.
> >>>
> >>> Thanks.
> >>>
> >>> --Brennon
> >>>
> >>>
> >>> On 12/21/12 8:48 PM, Ted Yu wrote:
> >>>
> >>>> Brennon:
> >>>> I forgot to ask you about other tables you have. Do you allow regions
> of
> >>>> other tables to also be assigned to this group of newer servers ?
> >>>> If you do, there is possibility that the combined load on such new
> servers
> >>>> would make response from them slow.
> >>>>
> >>>> Cheers
> >>>>
> >>>> On Fri, Dec 21, 2012 at 8:28 PM, Ted Yu <yu...@gmail.com> wrote:
> >>>>
> >>>>  What you describe is akin to HBASE-6721 region server group.
> >>>>> Basically you want this table to be bound to group of region servers.
> >>>>>
> >>>>> Development for 0.94 is on-going, to my knowledge.
> >>>>>
> >>>>> Cheers
> >>>>>
> >>>>>
> >>>>> On Fri, Dec 21, 2012 at 7:30 PM, Brennon Church <brennon@getjar.com
> >>>>>> wrote:
> >>>>>  0.92.0
> >>>>>> I was looking at the balancer option.  I'm loathe to turn the
> automatic
> >>>>>> balancer off and handle it manually as we have a lot of regions.  Is
> >>>>>> that
> >>>>>> the option you were thinking of?  Or am I missing something?
> >>>>>>
> >>>>>> Thanks.
> >>>>>>
> >>>>>> --Brennon
> >>>>>>
> >>>>>>
> >>>>>> On 12/21/12 4:19 PM, Ted Yu wrote:
> >>>>>>
> >>>>>>  Currently there is no such capability - you may need to customize
> load
> >>>>>>> balancer.
> >>>>>>>
> >>>>>>> What version of HBase are you using ?
> >>>>>>>
> >>>>>>> Cheers
> >>>>>>>
> >>>>>>> On Fri, Dec 21, 2012 at 3:54 PM, Brennon Church <
> brennon@getjar.com>
> >>>>>>> wrote:
> >>>>>>>
> >>>>>>>   I'm curious, is there any concept of hosting regions from a given
> >>>>>>> table
> >>>>>>>
> >>>>>>>> only on a single host or subset of hosts in a cluster?  In our
> case we
> >>>>>>>> have
> >>>>>>>> a heavily-used table that can cause problems for the older
> systems in
> >>>>>>>> our
> >>>>>>>> cluster.  Newer systems would have less trouble, so I'd like to
> >>>>>>>> restrict
> >>>>>>>> regions for that one table only to those more powerful servers.
> >>>>>>>>
> >>>>>>>> Thanks.
> >>>>>>>>
> >>>>>>>> --Brennon
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>
> >
> >
>



-- 
Adrien Mogenet
06.59.16.64.22
http://www.mogenet.me

Re: HBase table affinity to host(s)

Posted by yu...@gmail.com.
They would move over to live region servers. 

Cheers



On Dec 23, 2012, at 2:59 PM, Brennon Church <br...@getjar.com> wrote:

> I'm curious.  If I disable the hbase balancer, what happens when a regionserver goes offline?  Will those regions get moved over to the remaining hosts as would normally be the case?  Or will they remain unavailable until the balancer is run manually?
> 
> Thanks.
> 
> --Brennon
> 
> On 12/22/12 5:48 AM, Ted Yu wrote:
>> When region splits, the daughter regions would be placed on the same server
>> as parent region.
>> You also need to consider the case where new server crashes and its regions
>> are moved to older system.
>> 
>> In HBASE-5231 <https://issues.apache.org/jira/browse/HBASE-5231> you can
>> find a patch which does per table load balancing. You can modify that code
>> to move regions of selected table to pre-defined group of servers
>> (specified through configuration).
>> 
>> Cheers
>> 
>> On Fri, Dec 21, 2012 at 11:01 PM, Brennon Church <br...@getjar.com> wrote:
>> 
>>> I do allow regions from other tables on the newer servers.  The issue
>>> stems from a single table that habitually causes hot regions. Not such a
>>> problem on the new servers, but when those regions hit the older systems
>>> bad things happen.  I think the proper long-term solution is to change the
>>> code writing to the table, but that's not something that can be done right
>>> now, so I'm looking for the second best option.
>>> 
>>> The HBASE-6721 option sounds perfect, if I'm reading it correctly. It
>>> doesn't quite fit my use case, but would solve the problem regardless.
>>> 
>>> If I understand the balancer part correctly, a possible but ugly (IMHO)
>>> option would be to move the region(s) causing trouble over to the more
>>> powerful servers then disable automatic balancing.  Would region splits
>>> then remain on the same system as the original region?  If so, it would
>>> work around the problem but at the expense of having to manually move
>>> regions around more frequently to keep everything else balanced.
>>> 
>>> Thanks.
>>> 
>>> --Brennon
>>> 
>>> 
>>> On 12/21/12 8:48 PM, Ted Yu wrote:
>>> 
>>>> Brennon:
>>>> I forgot to ask you about other tables you have. Do you allow regions of
>>>> other tables to also be assigned to this group of newer servers ?
>>>> If you do, there is possibility that the combined load on such new servers
>>>> would make response from them slow.
>>>> 
>>>> Cheers
>>>> 
>>>> On Fri, Dec 21, 2012 at 8:28 PM, Ted Yu <yu...@gmail.com> wrote:
>>>> 
>>>>  What you describe is akin to HBASE-6721 region server group.
>>>>> Basically you want this table to be bound to group of region servers.
>>>>> 
>>>>> Development for 0.94 is on-going, to my knowledge.
>>>>> 
>>>>> Cheers
>>>>> 
>>>>> 
>>>>> On Fri, Dec 21, 2012 at 7:30 PM, Brennon Church <brennon@getjar.com
>>>>>> wrote:
>>>>>  0.92.0
>>>>>> I was looking at the balancer option.  I'm loathe to turn the automatic
>>>>>> balancer off and handle it manually as we have a lot of regions.  Is
>>>>>> that
>>>>>> the option you were thinking of?  Or am I missing something?
>>>>>> 
>>>>>> Thanks.
>>>>>> 
>>>>>> --Brennon
>>>>>> 
>>>>>> 
>>>>>> On 12/21/12 4:19 PM, Ted Yu wrote:
>>>>>> 
>>>>>>  Currently there is no such capability - you may need to customize load
>>>>>>> balancer.
>>>>>>> 
>>>>>>> What version of HBase are you using ?
>>>>>>> 
>>>>>>> Cheers
>>>>>>> 
>>>>>>> On Fri, Dec 21, 2012 at 3:54 PM, Brennon Church <br...@getjar.com>
>>>>>>> wrote:
>>>>>>> 
>>>>>>>   I'm curious, is there any concept of hosting regions from a given
>>>>>>> table
>>>>>>> 
>>>>>>>> only on a single host or subset of hosts in a cluster?  In our case we
>>>>>>>> have
>>>>>>>> a heavily-used table that can cause problems for the older systems in
>>>>>>>> our
>>>>>>>> cluster.  Newer systems would have less trouble, so I'd like to
>>>>>>>> restrict
>>>>>>>> regions for that one table only to those more powerful servers.
>>>>>>>> 
>>>>>>>> Thanks.
>>>>>>>> 
>>>>>>>> --Brennon
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>> 
> 
> 

Re: HBase table affinity to host(s)

Posted by Brennon Church <br...@getjar.com>.
I'm curious.  If I disable the hbase balancer, what happens when a 
regionserver goes offline?  Will those regions get moved over to the 
remaining hosts as would normally be the case?  Or will they remain 
unavailable until the balancer is run manually?

Thanks.

--Brennon

On 12/22/12 5:48 AM, Ted Yu wrote:
> When region splits, the daughter regions would be placed on the same server
> as parent region.
> You also need to consider the case where new server crashes and its regions
> are moved to older system.
>
> In HBASE-5231 <https://issues.apache.org/jira/browse/HBASE-5231> you can
> find a patch which does per table load balancing. You can modify that code
> to move regions of selected table to pre-defined group of servers
> (specified through configuration).
>
> Cheers
>
> On Fri, Dec 21, 2012 at 11:01 PM, Brennon Church <br...@getjar.com> wrote:
>
>> I do allow regions from other tables on the newer servers.  The issue
>> stems from a single table that habitually causes hot regions. Not such a
>> problem on the new servers, but when those regions hit the older systems
>> bad things happen.  I think the proper long-term solution is to change the
>> code writing to the table, but that's not something that can be done right
>> now, so I'm looking for the second best option.
>>
>> The HBASE-6721 option sounds perfect, if I'm reading it correctly. It
>> doesn't quite fit my use case, but would solve the problem regardless.
>>
>> If I understand the balancer part correctly, a possible but ugly (IMHO)
>> option would be to move the region(s) causing trouble over to the more
>> powerful servers then disable automatic balancing.  Would region splits
>> then remain on the same system as the original region?  If so, it would
>> work around the problem but at the expense of having to manually move
>> regions around more frequently to keep everything else balanced.
>>
>> Thanks.
>>
>> --Brennon
>>
>>
>> On 12/21/12 8:48 PM, Ted Yu wrote:
>>
>>> Brennon:
>>> I forgot to ask you about other tables you have. Do you allow regions of
>>> other tables to also be assigned to this group of newer servers ?
>>> If you do, there is possibility that the combined load on such new servers
>>> would make response from them slow.
>>>
>>> Cheers
>>>
>>> On Fri, Dec 21, 2012 at 8:28 PM, Ted Yu <yu...@gmail.com> wrote:
>>>
>>>   What you describe is akin to HBASE-6721 region server group.
>>>> Basically you want this table to be bound to group of region servers.
>>>>
>>>> Development for 0.94 is on-going, to my knowledge.
>>>>
>>>> Cheers
>>>>
>>>>
>>>> On Fri, Dec 21, 2012 at 7:30 PM, Brennon Church <brennon@getjar.com
>>>>> wrote:
>>>>   0.92.0
>>>>> I was looking at the balancer option.  I'm loathe to turn the automatic
>>>>> balancer off and handle it manually as we have a lot of regions.  Is
>>>>> that
>>>>> the option you were thinking of?  Or am I missing something?
>>>>>
>>>>> Thanks.
>>>>>
>>>>> --Brennon
>>>>>
>>>>>
>>>>> On 12/21/12 4:19 PM, Ted Yu wrote:
>>>>>
>>>>>   Currently there is no such capability - you may need to customize load
>>>>>> balancer.
>>>>>>
>>>>>> What version of HBase are you using ?
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>> On Fri, Dec 21, 2012 at 3:54 PM, Brennon Church <br...@getjar.com>
>>>>>> wrote:
>>>>>>
>>>>>>    I'm curious, is there any concept of hosting regions from a given
>>>>>> table
>>>>>>
>>>>>>> only on a single host or subset of hosts in a cluster?  In our case we
>>>>>>> have
>>>>>>> a heavily-used table that can cause problems for the older systems in
>>>>>>> our
>>>>>>> cluster.  Newer systems would have less trouble, so I'd like to
>>>>>>> restrict
>>>>>>> regions for that one table only to those more powerful servers.
>>>>>>>
>>>>>>> Thanks.
>>>>>>>
>>>>>>> --Brennon
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>



Re: HBase table affinity to host(s)

Posted by Ted Yu <yu...@gmail.com>.
When region splits, the daughter regions would be placed on the same server
as parent region.
You also need to consider the case where new server crashes and its regions
are moved to older system.

In HBASE-5231 <https://issues.apache.org/jira/browse/HBASE-5231> you can
find a patch which does per table load balancing. You can modify that code
to move regions of selected table to pre-defined group of servers
(specified through configuration).

Cheers

On Fri, Dec 21, 2012 at 11:01 PM, Brennon Church <br...@getjar.com> wrote:

> I do allow regions from other tables on the newer servers.  The issue
> stems from a single table that habitually causes hot regions. Not such a
> problem on the new servers, but when those regions hit the older systems
> bad things happen.  I think the proper long-term solution is to change the
> code writing to the table, but that's not something that can be done right
> now, so I'm looking for the second best option.
>
> The HBASE-6721 option sounds perfect, if I'm reading it correctly. It
> doesn't quite fit my use case, but would solve the problem regardless.
>
> If I understand the balancer part correctly, a possible but ugly (IMHO)
> option would be to move the region(s) causing trouble over to the more
> powerful servers then disable automatic balancing.  Would region splits
> then remain on the same system as the original region?  If so, it would
> work around the problem but at the expense of having to manually move
> regions around more frequently to keep everything else balanced.
>
> Thanks.
>
> --Brennon
>
>
> On 12/21/12 8:48 PM, Ted Yu wrote:
>
>> Brennon:
>> I forgot to ask you about other tables you have. Do you allow regions of
>> other tables to also be assigned to this group of newer servers ?
>> If you do, there is possibility that the combined load on such new servers
>> would make response from them slow.
>>
>> Cheers
>>
>> On Fri, Dec 21, 2012 at 8:28 PM, Ted Yu <yu...@gmail.com> wrote:
>>
>>  What you describe is akin to HBASE-6721 region server group.
>>> Basically you want this table to be bound to group of region servers.
>>>
>>> Development for 0.94 is on-going, to my knowledge.
>>>
>>> Cheers
>>>
>>>
>>> On Fri, Dec 21, 2012 at 7:30 PM, Brennon Church <brennon@getjar.com
>>> >wrote:
>>>
>>>  0.92.0
>>>>
>>>> I was looking at the balancer option.  I'm loathe to turn the automatic
>>>> balancer off and handle it manually as we have a lot of regions.  Is
>>>> that
>>>> the option you were thinking of?  Or am I missing something?
>>>>
>>>> Thanks.
>>>>
>>>> --Brennon
>>>>
>>>>
>>>> On 12/21/12 4:19 PM, Ted Yu wrote:
>>>>
>>>>  Currently there is no such capability - you may need to customize load
>>>>> balancer.
>>>>>
>>>>> What version of HBase are you using ?
>>>>>
>>>>> Cheers
>>>>>
>>>>> On Fri, Dec 21, 2012 at 3:54 PM, Brennon Church <br...@getjar.com>
>>>>> wrote:
>>>>>
>>>>>   I'm curious, is there any concept of hosting regions from a given
>>>>> table
>>>>>
>>>>>> only on a single host or subset of hosts in a cluster?  In our case we
>>>>>> have
>>>>>> a heavily-used table that can cause problems for the older systems in
>>>>>> our
>>>>>> cluster.  Newer systems would have less trouble, so I'd like to
>>>>>> restrict
>>>>>> regions for that one table only to those more powerful servers.
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>> --Brennon
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>
>
>

Re: HBase table affinity to host(s)

Posted by Brennon Church <br...@getjar.com>.
I do allow regions from other tables on the newer servers.  The issue 
stems from a single table that habitually causes hot regions. Not such a 
problem on the new servers, but when those regions hit the older systems 
bad things happen.  I think the proper long-term solution is to change 
the code writing to the table, but that's not something that can be done 
right now, so I'm looking for the second best option.

The HBASE-6721 option sounds perfect, if I'm reading it correctly. It 
doesn't quite fit my use case, but would solve the problem regardless.

If I understand the balancer part correctly, a possible but ugly (IMHO) 
option would be to move the region(s) causing trouble over to the more 
powerful servers then disable automatic balancing.  Would region splits 
then remain on the same system as the original region?  If so, it would 
work around the problem but at the expense of having to manually move 
regions around more frequently to keep everything else balanced.

Thanks.

--Brennon

On 12/21/12 8:48 PM, Ted Yu wrote:
> Brennon:
> I forgot to ask you about other tables you have. Do you allow regions of
> other tables to also be assigned to this group of newer servers ?
> If you do, there is possibility that the combined load on such new servers
> would make response from them slow.
>
> Cheers
>
> On Fri, Dec 21, 2012 at 8:28 PM, Ted Yu <yu...@gmail.com> wrote:
>
>> What you describe is akin to HBASE-6721 region server group.
>> Basically you want this table to be bound to group of region servers.
>>
>> Development for 0.94 is on-going, to my knowledge.
>>
>> Cheers
>>
>>
>> On Fri, Dec 21, 2012 at 7:30 PM, Brennon Church <br...@getjar.com>wrote:
>>
>>> 0.92.0
>>>
>>> I was looking at the balancer option.  I'm loathe to turn the automatic
>>> balancer off and handle it manually as we have a lot of regions.  Is that
>>> the option you were thinking of?  Or am I missing something?
>>>
>>> Thanks.
>>>
>>> --Brennon
>>>
>>>
>>> On 12/21/12 4:19 PM, Ted Yu wrote:
>>>
>>>> Currently there is no such capability - you may need to customize load
>>>> balancer.
>>>>
>>>> What version of HBase are you using ?
>>>>
>>>> Cheers
>>>>
>>>> On Fri, Dec 21, 2012 at 3:54 PM, Brennon Church <br...@getjar.com>
>>>> wrote:
>>>>
>>>>   I'm curious, is there any concept of hosting regions from a given table
>>>>> only on a single host or subset of hosts in a cluster?  In our case we
>>>>> have
>>>>> a heavily-used table that can cause problems for the older systems in
>>>>> our
>>>>> cluster.  Newer systems would have less trouble, so I'd like to restrict
>>>>> regions for that one table only to those more powerful servers.
>>>>>
>>>>> Thanks.
>>>>>
>>>>> --Brennon
>>>>>
>>>>>
>>>>>
>>>



Re: HBase table affinity to host(s)

Posted by Ted Yu <yu...@gmail.com>.
Brennon:
I forgot to ask you about other tables you have. Do you allow regions of
other tables to also be assigned to this group of newer servers ?
If you do, there is possibility that the combined load on such new servers
would make response from them slow.

Cheers

On Fri, Dec 21, 2012 at 8:28 PM, Ted Yu <yu...@gmail.com> wrote:

> What you describe is akin to HBASE-6721 region server group.
> Basically you want this table to be bound to group of region servers.
>
> Development for 0.94 is on-going, to my knowledge.
>
> Cheers
>
>
> On Fri, Dec 21, 2012 at 7:30 PM, Brennon Church <br...@getjar.com>wrote:
>
>> 0.92.0
>>
>> I was looking at the balancer option.  I'm loathe to turn the automatic
>> balancer off and handle it manually as we have a lot of regions.  Is that
>> the option you were thinking of?  Or am I missing something?
>>
>> Thanks.
>>
>> --Brennon
>>
>>
>> On 12/21/12 4:19 PM, Ted Yu wrote:
>>
>>> Currently there is no such capability - you may need to customize load
>>> balancer.
>>>
>>> What version of HBase are you using ?
>>>
>>> Cheers
>>>
>>> On Fri, Dec 21, 2012 at 3:54 PM, Brennon Church <br...@getjar.com>
>>> wrote:
>>>
>>>  I'm curious, is there any concept of hosting regions from a given table
>>>> only on a single host or subset of hosts in a cluster?  In our case we
>>>> have
>>>> a heavily-used table that can cause problems for the older systems in
>>>> our
>>>> cluster.  Newer systems would have less trouble, so I'd like to restrict
>>>> regions for that one table only to those more powerful servers.
>>>>
>>>> Thanks.
>>>>
>>>> --Brennon
>>>>
>>>>
>>>>
>>
>>
>

Re: HBase table affinity to host(s)

Posted by Ted Yu <yu...@gmail.com>.
What you describe is akin to HBASE-6721 region server group.
Basically you want this table to be bound to group of region servers.

Development for 0.94 is on-going, to my knowledge.

Cheers

On Fri, Dec 21, 2012 at 7:30 PM, Brennon Church <br...@getjar.com> wrote:

> 0.92.0
>
> I was looking at the balancer option.  I'm loathe to turn the automatic
> balancer off and handle it manually as we have a lot of regions.  Is that
> the option you were thinking of?  Or am I missing something?
>
> Thanks.
>
> --Brennon
>
>
> On 12/21/12 4:19 PM, Ted Yu wrote:
>
>> Currently there is no such capability - you may need to customize load
>> balancer.
>>
>> What version of HBase are you using ?
>>
>> Cheers
>>
>> On Fri, Dec 21, 2012 at 3:54 PM, Brennon Church <br...@getjar.com>
>> wrote:
>>
>>  I'm curious, is there any concept of hosting regions from a given table
>>> only on a single host or subset of hosts in a cluster?  In our case we
>>> have
>>> a heavily-used table that can cause problems for the older systems in our
>>> cluster.  Newer systems would have less trouble, so I'd like to restrict
>>> regions for that one table only to those more powerful servers.
>>>
>>> Thanks.
>>>
>>> --Brennon
>>>
>>>
>>>
>
>

Re: HBase table affinity to host(s)

Posted by Brennon Church <br...@getjar.com>.
0.92.0

I was looking at the balancer option.  I'm loathe to turn the automatic 
balancer off and handle it manually as we have a lot of regions.  Is 
that the option you were thinking of?  Or am I missing something?

Thanks.

--Brennon

On 12/21/12 4:19 PM, Ted Yu wrote:
> Currently there is no such capability - you may need to customize load
> balancer.
>
> What version of HBase are you using ?
>
> Cheers
>
> On Fri, Dec 21, 2012 at 3:54 PM, Brennon Church <br...@getjar.com> wrote:
>
>> I'm curious, is there any concept of hosting regions from a given table
>> only on a single host or subset of hosts in a cluster?  In our case we have
>> a heavily-used table that can cause problems for the older systems in our
>> cluster.  Newer systems would have less trouble, so I'd like to restrict
>> regions for that one table only to those more powerful servers.
>>
>> Thanks.
>>
>> --Brennon
>>
>>



Re: HBase table affinity to host(s)

Posted by Ted Yu <yu...@gmail.com>.
Currently there is no such capability - you may need to customize load
balancer.

What version of HBase are you using ?

Cheers

On Fri, Dec 21, 2012 at 3:54 PM, Brennon Church <br...@getjar.com> wrote:

> I'm curious, is there any concept of hosting regions from a given table
> only on a single host or subset of hosts in a cluster?  In our case we have
> a heavily-used table that can cause problems for the older systems in our
> cluster.  Newer systems would have less trouble, so I'd like to restrict
> regions for that one table only to those more powerful servers.
>
> Thanks.
>
> --Brennon
>
>

Re: HBase table affinity to host(s)

Posted by Dimitry Goldin <go...@neofonie.de>.
On 22.12.2012 05:59, Ted Yu wrote:
> Dimitry:
> StochasticLoadBalancer doesn't provide the capability of grouping selected
> regions on subset of region servers.

I mentioned the StochasticBalancer more as an example. It still should
be possible to achieve something similar by extending the balancer
to take system load into consideration - since his requirement seems
to be to redistribute regions to systems which can handle the load
and not group for some other reasons. Though this could also be done
in a hacky way by using some types of rules for tables and hosts within
LoadBalancer I guess.

Cheers

Re: HBase table affinity to host(s)

Posted by Ted Yu <yu...@gmail.com>.
Dimitry:
StochasticLoadBalancer doesn't provide the capability of grouping selected
regions on subset of region servers.

Cheers

On Fri, Dec 21, 2012 at 4:33 PM, Dimitry Goldin <go...@neofonie.de> wrote:

> Hi,
>
> On 22.12.2012 00:54, Brennon Church wrote:> I'm curious, is there any
> concept of hosting regions from a given table
>
> > only on a single host or subset of hosts in a cluster?
>
> Not really. Since any region could be moved to any regionserver
> upon failure, no permanent ties are established between
> regions and their locations.
>
>
> > In our case we have a heavily-used table that can cause problems for the
> > older systems in our cluster.  Newer systems would have less trouble,
> > so I'd like to restrict regions for that one table only to those more
> > powerful servers.
>
> From the top of my head you could try a couple of things to achieve
> that effect:
>
> - Putting the smaller machines into a different hbase cluster
> with tables they can handle and the rest on the bigger one.
>
> - If you're running 0.95 or higher, you should try
> StochasticLoadBalancer and see if it maybe is already enough
> to help. Though thats not really likely, as it does not
> factor in the system load. But certainly
> a good starting point for building a balancer which suits
> your needs better.
>
> - You could manually assign regions to your servers using hbase shells
> 'assign' command, which will only work until the regionserver is
> restarted or fails.
>
> Personally, I have only tried the last option.
>
> hth,
>         dima
>

Re: HBase table affinity to host(s)

Posted by Dimitry Goldin <go...@neofonie.de>.
Hi,

On 22.12.2012 00:54, Brennon Church wrote:> I'm curious, is there any 
concept of hosting regions from a given table
 > only on a single host or subset of hosts in a cluster?

Not really. Since any region could be moved to any regionserver
upon failure, no permanent ties are established between
regions and their locations.

 > In our case we have a heavily-used table that can cause problems for the
 > older systems in our cluster.  Newer systems would have less trouble,
 > so I'd like to restrict regions for that one table only to those more
 > powerful servers.

 From the top of my head you could try a couple of things to achieve
that effect:

- Putting the smaller machines into a different hbase cluster
with tables they can handle and the rest on the bigger one.

- If you're running 0.95 or higher, you should try
StochasticLoadBalancer and see if it maybe is already enough
to help. Though thats not really likely, as it does not
factor in the system load. But certainly
a good starting point for building a balancer which suits
your needs better.

- You could manually assign regions to your servers using hbase shells 
'assign' command, which will only work until the regionserver is
restarted or fails.

Personally, I have only tried the last option.

hth,
	dima