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