You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Manjeet Singh <ma...@gmail.com> on 2016/11/21 08:29:50 UTC
How Hbase perform distribution of rowkey in region server
Hi All
My question is very simple I have created my table using pre-split
as showing below
create 'test_table', 'CF1', SPLITS=> ['a', 'b', 'c']
and i have 4 region server
can anyone help me how hbase distribute rowkey into the regio server please
mind I am asking resion server not regions
what I am assuming
based on pre-split all region will have 3 region created on on each resion
server
if one rowkey comes say a_data1, it will go on all refion server in region
where region boundry lie in between start rowekey and end rowkey
please clear if I am on wrong assuming
Thanks
Manjeet
--
luv all
Re: How Hbase perform distribution of rowkey in region server
Posted by Ted Yu <yu...@gmail.com>.
Manjeet:
With 3 regions (actually 4, considering the region with empty start key)
for the table, data wouldn't be distributed onto 100 nodes - there are not
enough regions to spread across all the region servers.
Assuming the table would receive much data, you can split the table so that
the regions spread more evenly across the nodes.
On Mon, Nov 21, 2016 at 12:48 AM, Manjeet Singh <ma...@gmail.com>
wrote:
> Hi Anoop its clear to me how Hbase distribute data among regions
>
> as you told
>
> Rowkeys starting with a,b.... will be assigned to region 1
>
> Rowkeys starting with b,c.... will be assigned to region 2
>
> Rowkeys starting with c,...... will be assigned to region 3
>
>
> my question is if i have 100 region server ok and by using this pre-split
> policy Hbase create empty region on every data note i.e. actually region
> server so if i insert one rk as showing below
>
> a_data123
>
> how hbase distrubute this data into all 100 nodes? does it make 100 copy
> and put into all RS?
>
>
> Thanks
>
> Manjeet
>
> On Mon, Nov 21, 2016 at 2:11 PM, Anoop John <an...@gmail.com> wrote:
>
> > When u create table this way, it will have 4 regions totally. ( , a],
> > (a, b], (b, c], (c, ].. It is not like every RS will get 3 splits.
> > The Load balancer in master will distribute these regions on to
> > available RSs. So when a rk comes say a_data1, it corresponds to
> > exactly ONE region which is in exactly ONE RS. So the client reaches
> > that RS and region for this RK.
> >
> > -Anoop-
> >
> > On Mon, Nov 21, 2016 at 1:59 PM, Manjeet Singh
> > <ma...@gmail.com> wrote:
> > > Hi All
> > >
> > > My question is very simple I have created my table using pre-split
> > > as showing below
> > >
> > > create 'test_table', 'CF1', SPLITS=> ['a', 'b', 'c']
> > >
> > > and i have 4 region server
> > > can anyone help me how hbase distribute rowkey into the regio server
> > please
> > > mind I am asking resion server not regions
> > >
> > > what I am assuming
> > >
> > > based on pre-split all region will have 3 region created on on each
> > resion
> > > server
> > > if one rowkey comes say a_data1, it will go on all refion server in
> > region
> > > where region boundry lie in between start rowekey and end rowkey
> > >
> > > please clear if I am on wrong assuming
> > >
> > > Thanks
> > > Manjeet
> > >
> > > --
> > > luv all
> >
>
>
>
> --
> luv all
>
Re: How Hbase perform distribution of rowkey in region server
Posted by Manjeet Singh <ma...@gmail.com>.
Hi Anoop its clear to me how Hbase distribute data among regions
as you told
Rowkeys starting with a,b.... will be assigned to region 1
Rowkeys starting with b,c.... will be assigned to region 2
Rowkeys starting with c,...... will be assigned to region 3
my question is if i have 100 region server ok and by using this pre-split
policy Hbase create empty region on every data note i.e. actually region
server so if i insert one rk as showing below
a_data123
how hbase distrubute this data into all 100 nodes? does it make 100 copy
and put into all RS?
Thanks
Manjeet
On Mon, Nov 21, 2016 at 2:11 PM, Anoop John <an...@gmail.com> wrote:
> When u create table this way, it will have 4 regions totally. ( , a],
> (a, b], (b, c], (c, ].. It is not like every RS will get 3 splits.
> The Load balancer in master will distribute these regions on to
> available RSs. So when a rk comes say a_data1, it corresponds to
> exactly ONE region which is in exactly ONE RS. So the client reaches
> that RS and region for this RK.
>
> -Anoop-
>
> On Mon, Nov 21, 2016 at 1:59 PM, Manjeet Singh
> <ma...@gmail.com> wrote:
> > Hi All
> >
> > My question is very simple I have created my table using pre-split
> > as showing below
> >
> > create 'test_table', 'CF1', SPLITS=> ['a', 'b', 'c']
> >
> > and i have 4 region server
> > can anyone help me how hbase distribute rowkey into the regio server
> please
> > mind I am asking resion server not regions
> >
> > what I am assuming
> >
> > based on pre-split all region will have 3 region created on on each
> resion
> > server
> > if one rowkey comes say a_data1, it will go on all refion server in
> region
> > where region boundry lie in between start rowekey and end rowkey
> >
> > please clear if I am on wrong assuming
> >
> > Thanks
> > Manjeet
> >
> > --
> > luv all
>
--
luv all
Re: How Hbase perform distribution of rowkey in region server
Posted by Anoop John <an...@gmail.com>.
When u create table this way, it will have 4 regions totally. ( , a],
(a, b], (b, c], (c, ].. It is not like every RS will get 3 splits.
The Load balancer in master will distribute these regions on to
available RSs. So when a rk comes say a_data1, it corresponds to
exactly ONE region which is in exactly ONE RS. So the client reaches
that RS and region for this RK.
-Anoop-
On Mon, Nov 21, 2016 at 1:59 PM, Manjeet Singh
<ma...@gmail.com> wrote:
> Hi All
>
> My question is very simple I have created my table using pre-split
> as showing below
>
> create 'test_table', 'CF1', SPLITS=> ['a', 'b', 'c']
>
> and i have 4 region server
> can anyone help me how hbase distribute rowkey into the regio server please
> mind I am asking resion server not regions
>
> what I am assuming
>
> based on pre-split all region will have 3 region created on on each resion
> server
> if one rowkey comes say a_data1, it will go on all refion server in region
> where region boundry lie in between start rowekey and end rowkey
>
> please clear if I am on wrong assuming
>
> Thanks
> Manjeet
>
> --
> luv all