Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Reviewed
-
Description
Right now, we have a weird way of node decommissioning / graceful stop, which is a graceful_stop.sh bash script, and a region_mover ruby script, and some draining server support which you have to manually write to a znode (really!). Also draining servers is only partially supported in LB operations (LB does take that into account for roundRobin assignment, but not for normal balance)
See
http://hbase.apache.org/book/node.management.html and HBASE-3071
I think we should support graceful stop as a first class citizen. Thinking about it, it seems that the difference between regionserver stop and graceful stop is that regionserver stop will close the regions, but the master will only assign them after the znode is deleted.
In the new master design (or even before), if we allow RS to be able to close regions on its own (without master initiating it), then graceful stop becomes regular stop. The RS already closes the regions cleanly, and will reject new region assignments, so that we don't need much of the balancer or draining server trickery.
This ties into the new master/AM redesign (HBASE-5487), but still deserves it's own jira. Let's use this to brainstorm on the design.
Attachments
Attachments
Issue Links
- incorporates
-
HBASE-17369 Add ACL to the new region server drain related API
- Closed
- is related to
-
HBASE-6402 Ability to explicitly include and exclude hosts from cluster
- Closed
- relates to
-
HBASE-17521 Avoid stopping the load balancer in graceful stop
- Open
-
HBASE-16010 Put draining function through Admin API
- Closed