[ 
https://issues.apache.org/jira/browse/HBASE-11059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jimmy Xiang updated HBASE-11059:
--------------------------------

    Release Note: 
This patch makes it possible to do region assignment without ZK. By default, it 
is off (i.e. ZK is used for region assignment as before).

Two setting "hbase.assignment.usezk", "hbase.assignment.usezk.migrating" are 
introduced to control migration from using ZK for assignment to not using
ZK for assignment.

For rolling upgrade from using ZK to not using ZK, it can be done in two steps:

1. Set both hbase.assignment.usezk and hbase.assignment.usezk.migrating to 
true, do a rolling upgrade so that both masters and regionservers have
the new code. Either master or regionserver can be upgraded at first. The order 
is not important for this step. If you want to keep using ZK for assignment, 
you'd better set hbase.assignment.usezk to true, and 
hbase.assignment.usezk.migrating to false so that region states are not 
persisted in meta table.

2. Set hbase.assignment.usezk to false, do a rolling restart so that region 
assignments don't use ZK any more. For this step, masters should be restarted 
after regionservers have all restarted at first so that they won't update meta 
table directly and master doesn't know about it.


  was:
This patch makes it possible to do region assignment without ZK. By default, it 
is off (i.e. ZK is used for region assignment as before).

Two setting "hbase.assignment.usezk", "hbase.assignment.usezk.migrating"
are introduced to control migration from using ZK for assignment to not using
ZK for assignment.

For rolling upgrade from using ZK to not using ZK, it can be
done in two steps:
1. Set both hbase.assignment.usezk and hbase.assignment.usezk.migrating
to true, do a rolling upgrade so that both masters and regionservers have
the new code. Either master or regionserver can be upgraded at first.
The order is not important for this step. If you want to keep using ZK
for assignment, you'd better set hbase.assignment.usezk to true,
and hbase.assignment.usezk.migrating to false so that region states
are not persisted in meta table.
2. Set hbase.assignment.usezk to false, do a rolling restart
so that region assignments don't use ZK any more. For this step,
masters should be restarted after regionservers have all
restarted at first so that they won't update meta table
directly and master doesn't know about it.



> ZK-less region assignment
> -------------------------
>
>                 Key: HBASE-11059
>                 URL: https://issues.apache.org/jira/browse/HBASE-11059
>             Project: HBase
>          Issue Type: Improvement
>          Components: master, Region Assignment
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.99.0
>
>         Attachments: hbase-11059.patch, hbase-11059_v2.1.patch, 
> hbase-11059_v2.2.patch, hbase-11059_v2.patch, zk-less_am.pdf
>
>
> It seems that most people don't like region assignment with ZK (HBASE-5487), 
> which causes many uncertainties. This jira is to support ZK-less region 
> assignment. We need to make sure this patch doesn't break backward 
> compatibility/rolling upgrade.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to