This page is OBSOLETE. Replaced by http://hbase.apache.org/book.html#decommission

If you want to upgrade between point versions -- e.g. from 0.20.0 to 0.20.1 -- of HBase or change configurations WITHOUT bringing down your whole cluster -- i.e. you want to keep serving through the upgrade -- follow the below Rolling Restart receipe. This feature is available in 0.20.0 HBase.

In the below, you will take down one or more servers at a time, upgrade or change their configuration, and then bring the servers back on line afterward. Ideally, you'd do the upgrade a server-at-a-time to minimize region churn but if your cluster large, you can upgrade a few on each iteration. Just be sure that the number of servers you drop is not of a proportion as to render your serving cluster a mortal blow.

Per regionserver, first update the pertinent jar or configuration. Next, run the following to stop the server: $ ${HBASE_HOME}/bin/hbase-daemon.sh stop regionserver. Wait until the server comes to a complete stop. Then restart it by doing the following: $ ${HBASE_HOME}/bin/hbase-daemon.sh start regionserver.

For the master, you'll need to kill it. If you do ./bin/hbase-daemon.sh stop master, it'll stop the whole cluster. Make sure the master is not in the midst of handling a regionserver crash splitting logs. Otherwise, killing its should be safe. Once its dead, start it up again with: $ ${HBASE_HOME}/bin/hbase-daemon.sh start master.

The above currently will not work for minor upgrades where data migration may be required or where RPC version numbers have changed.

Hbase/RollingRestart (last edited 2011-08-10 19:46:30 by DougMeil)