Last day me and my friends tried hadoop cluster upgrade.
We tried two upgrades and both were successful.
One was from cdh3u1 cluster to cdh-4.3.0 and other from cdh 4.1.2 to cdh 4.3.0.
For upgrading we need to upgrade the hadoop installation and the filesystem.
It was a nice experience.
The steps we followed are listed below.
First we checked the filesystem for missing blocks and created the report of the entire filesystem.
From the superuser (hdfs), we executed the command
hadoop dfsadmin –report > reportold.log hadoop fsck / > fsckold.log
With this we will get the reports and status of the entire filesystem.
We can keep these for future comparison.
If there are any issues found in the report, do the necessary actions for making it proper.
If everything is fine, we can move futher with our upgrade process.
After this we stopped all the processes.
For ensuring no accidental data loss, we backed up our namenode and datanode storage.
ie dfs.name.dir and dfs.data.dir.
After that we copied the hadoop configuration files and saved it in a different location for further use.
Then we uninstalled the entire hadoop installation(old version).
Care should be taken for keeping the contents of dfs.name.dir, dfs.data.dir secure.
We created a CDH 4.3.0 local repository and installed CDH 4.3.0 in all the machines similar to old version. The installation steps are mentioned in my previous posts.
Creating A Local YUM Repository
Then we added the configuration files which we copied from the older installation previously.
We pointed the dfs.name.dir and dfs.data.dir to the correct locations.
After doing this, in the namenode machine, execute the following command.
/etc/init.d/hadoop-hdfs-namenode upgrade Or service hadoop-hdfs-namenode upgrade
This This will start the namenode and will upgrade the hadoop filesystem to the newer version.
After this, start all the other daemons and check whether everything is working fine or not.
Check the filesystem using the below commands (execute these commands from superuser)
hadoop dfsadmin –report > reportnew.log hadoop fsck / > fscknew.log
Compare the reportnew.log , fscknew.log with reportold.log and fsckold.log.
Note: If we are not satisfied with the upgrade, we can rollback to the previous version. This can be done by uninstalling the newer version and installing the older version and execting the command
This can be done only once and cannot do once the upgrade is finalized
If both the reports are same and if there is no problem of missing blocks, we can finalize our upgrade.
Stop all the daemons and execute the following command in the namenode machine
Once the upgrade is finalized, we cannot rollback.
Note: From our experience we found that cdh4.1.2 filesystem and cdh4.3.0 filesystem are compatable. ie we found cdh-4.3.0 working properly by using the cdh4.1.2’s filesystem without executing the upgrade command.