-Re: Adding a new region server or splitting an old region in a Hash-partitioned HBase Data Store
ramkrishna vasudevan 2013-06-28, 03:39
I would suggest you could write a custom load balancer and then have your
hashing algo to determine how the load balancing should happen. Hope this
On Fri, Jun 28, 2013 at 5:32 AM, Joarder KAMAL <[EMAIL PROTECTED]> wrote:
> Thanks St.Ack for mentioning about the load-balancer.
> But my question was two folded:
> Case-1. If a new RS is added, then the load-balancer will do it's job
> considering no new region has been created in the meanwhile. // As you've
> already answered.
> Case-2. Whether a new RS is added or not, an existing region is splitted
> into two, then how the new writes will to the new region? Because, lets say
> initially the hash function was calculated with *N* Regions and now there
> are *N+1* Regions in the cluster.
> In that case, do I need to change the Hash function and reshuffle all the
> existing data within the cluster !! Or, HBase has some mechanism to handle
> Many thanks again for helping me out...
> Joarder Kamal
> On 28 June 2013 02:26, Stack <[EMAIL PROTECTED]> wrote:
> > On Wed, Jun 26, 2013 at 4:24 PM, Joarder KAMAL <[EMAIL PROTECTED]>
> > > May be a simple question to answer for the experienced HBase users and
> > > developers:
> > >
> > > If I use hash partitioning to evenly distribute write workloads into my
> > > region servers and later add a new region server to scale or split an
> > > existing region, then do I need to change my hash function and
> > > all the existing data in between all the region servers (old and new)?
> > Or,
> > > is there any better solution for this? Any guidance would be very much
> > > helpful.
> > >
> > You do not need to change your hash function.
> > When you add a new regionserver, the balancer will move some of the
> > existing regions to the new host.
> > St.Ack