Configure and Start Apache Storm
Before you can upgrade Apache Storm, you must have first upgraded your HDP components to the latest version (in this case, 2.4.2). This section assumes that you have already upgraded your components for HDP 2.4.2. If you have not already completed these steps, return to Getting Ready to Upgrade and Upgrade 2.1 Components for instructions on how to upgrade your HDP components to 2.4.2.
Note | |
---|---|
The |
Storm is fairly independent of changes to the HDP cluster, but you must upgrade Storm for rolling upgrade support in HDP-2.4.2 and be on the latest version of Storm.
Deactivate all running topologies.
Delete all states under zookeeper:
/usr/hdp/current/zookeeper-client/bin/zkCli.sh (optionally in secure environment specify -server zk.server:port)
rmr /storm
Delete all states under the storm-local directory:
rm -rf <value of storm.local.dir>
Stop Storm services on the storm node.
Stop ZooKeeper services on the storm node.
su - zookeeper -c "export ZOOCFGDIR=/etc/zookeeper/conf ; export ZOOCFG=zoo.cfg ;source /etc/zookeeper/conf/zookeeper-env.sh ; /usr/lib/zookeeper/bin/zkServer.sh stop"
Remove Storm and ZooKeeper from the storm node and install the HDP-2.4.2 version:
For RHEL/CentOS/Oracle Linux:
yum erase storm
yum erase zookeeper
yum install storm
yum install zookeeper
For SLES:
zypper rm storm
zypper rm zookeeper
zypper install storm
zypper install zookeeper
For Ubuntu/Debian:
HDP support for Debian 6 is deprecated with HDP 2.4.2. Future versions of HDP will no longer be supported on Debian 6.
apt-get remove storm --purge
apt-get remove zookeeper --purge
apt-get install storm
apt-get install zookeeper
Replace your configuration after upgrading. Copy /etc/storm/conf from the template to the conf directory .
Replace your ZooKeeper configuration after upgrading. Replace the ZooKeeper template configuration in
/etc/zookeeper/conf
.Start ZooKeeper. On the storm node, run the following command:
su - zookeeper -c "source /etc/zookeeper/conf/zookeeper-env.sh; export ZOOCFGDIR=/etc/zookeeper/conf; /usr/hdp/current/zookeeper-server/bin/zkServer.sh start >> $ZOO_LOG_DIR/zoo.out\"
where
$ZOO_LOG_DIR is the directory where ZooKeeper server logs are stored. For example, /var/log/zookeeper.
Start nimbus, then supervisor/ui/drpc/logviewer:
/usr/hdp/current/storm-nimbus/bin/storm nimbus
.Start Storm, using a process controller, such as supervisor:
su - storm /usr/hdp/current/storm-supervisor/bin/storm supervisor
You can use the same command syntax to start Storm using nimbus/ui and logviewer.
su - storm /usr/hdp/current/storm-supervisor/bin/storm nimbus
su - storm /usr/hdp/current/storm-supervisor/bin/storm ui
su - storm /usr/hdp/current/storm-supervisor/bin/storm logviewer
su - storm /usr/hdp/current/storm-supervisor/bin/storm drpc