Upgrading ZooKeeper from an Earlier CDH4 Release
Cloudera recommends that you use a rolling upgrade process to upgrade ZooKeeper: that is, upgrade one server in the ZooKeeper ensemble at a time. This means bringing down each server in turn, upgrading the software, then restarting the server. The server will automatically rejoin the quorum, update its internal state with the current ZooKeeper leader, and begin serving client sessions.
This method allows you to upgrade ZooKeeper without any interruption in the service, and also lets you monitor the ensemble as the upgrade progresses, and roll back if necessary if you run into problems.
The instructions that follow assume that you are upgrading ZooKeeper as part of a CDH4 upgrade, and have already performed the steps under Upgrading from an Earlier CDH4 Release.
Performing a ZooKeeper Rolling Upgrade
Follow these steps to perform a rolling upgrade.
Step 1: Stop the ZooKeeper Server on the First Node
To stop the ZooKeeper server:
$ sudo service zookeeper-server stop
Step 2: Install the ZooKeeper Base Package on the First Node
Step 3: Install the ZooKeeper Server Package on the First Node
During package upgrade, the package manager renames any configuration files you have modified from <file> to <file>.rpmsave, and creates a new <file> with applicable defaults. You are responsible for applying any changes captured in the original configuration file to the new configuration file. In the case of Ubuntu and Debian upgrades, you will be prompted if you have made changes to a file for which there is a new version; for details, see Automatic handling of configuration files by dpkg.
Step 4: Restart the Server
See Installing the ZooKeeper Server Package for instructions on starting the server.
The upgrade is now complete on this server and you can proceed to the next.
Step 5: Upgrade the Remaining Nodes
Repeat Steps 1-4 above on each of the remaining nodes.
The ZooKeeper upgrade is now complete.