Hi,
We are proposing upgrade solution to one of our customers.

Current Version:  Hadoop 2.0.1+Hbase 0.94.11+ ZK
Upgrade Version: Hadoop 2.3+HBase 0.98 +ZK

Current Cluster Setup:    with 50+ nodes storing 300TB of HBase data
All components are installed under $HADOOP_V1.
NN, DN and ZK directories are external.

Main requirement is that customer wants to rollback to old version in case of 
any failures during the upgrade.
HDFS provides rollback option. HBase has no rollback option. To overcome this, 
I am thinking of running HBase upgrade under hdfs -upgrade step.

Detailed steps are given below:

1.      Shutdown $HADOOP_V1 cluster

2.      Take backup of $NN_DR and $ZK_DIR

3.      Install new version (Hadoop 2.3+HBase 0.98 +ZK) under new directory on 
same nodes i.e $HADOOP_V2

4.      Configure it to use existing folders $NN_DIR, $DN_DIR, $ZK_DIR

5.      Start Zk

6.      Start hdfs with -upgrade option

7.      Start hbase upgrade tool  "$ bin/hbase upgrade -execute"

8.      In case of any failure do rollback

a.      HDFS rollback

b.      Stop ZK and recover old ZK data backup to ZK_DIR

c.      Start old version $HA DOOP_V1 (HBase 0.94 should work as HDFS rollback 
should revert namespace and other changes done by meta data tool)

9.      If HBase upgrade is fine, finalize upgrade

a.      HDFS finalizeUpgrade

b.      Delete old version

I am mainly concerned about step 8, is this rollback expected to work?
Are there any better alternatives to do HBase rollback.

Regards,
Kiran




Reply via email to