Upgrading Storm

The following instructions explain how to upgrade Storm 0.9.3 to 0.9.4 or from Storm 0.9.4 to 0.10.0 using manual steps. If you installed Storm with the MapR Installer, use the latest version of the MapR Installer to perform the upgrade instead.

About this task

Storm does not support rolling upgrades of the Storm service. Therefore, you need to stop the topology, update the client version to match the new version, and resubmit the topology.

Procedure

  1. Stop the currently running topology, so that you can submit a new topology under the same name, using the Storm CLI or the Web UI:
    storm kill <topology-name>
  2. Using maprcli commands, stop the Storm nimbus, storm-ui, and supervisor services:
    maprcli node services -name nimbus -action stop -nodes <node list>
    maprcli node services -name storm-ui -action stop -nodes <node list>
    maprcli node services -name supervisor -action stop -nodes <node list>
  3. Back up any custom configuration files in your Storm environment. These cannot be upgraded automatically. Configuration files are located in /opt/mapr/storm/storm-<version>/conf/.
  4. Update the storm components to the new version.
    • Upgrade using a package manager :
      • On RedHat/CentOS:
        yum upgrade mapr-storm mapr-storm-ui mapr-storm-nimbus mapr-storm-supervisor
      • On Ubuntu:
        apt-get install mapr-storm mapr-storm-ui mapr-storm-nimbus mapr-storm-supervisor 
    • Manually remove a prior version and install the latest version:
      • On RedHat/CentOS:
        yum remove mapr-storm mapr-storm-ui mapr-storm-nimbus mapr-storm-supervisor
        yum install mapr-storm mapr-storm-ui mapr-storm-nimbus mapr-storm-supervisor
      • On Ubuntu:
        apt-get remove mapr-storm mapr-storm-ui mapr-storm-nimbus mapr-storm-supervisor
        apt-get install mapr-storm mapr-storm-ui mapr-storm-nimbus mapr-storm-supervisor
  5. Run configure.sh.
    /opt/mapr/server/configure.sh -R
  6. Clean the tmp directory.
    rm -rf /tmp/storm-data/*
  7. Migrate any previous configurations. When you upgrade to a newer Storm version, a new storm-<version> folder is created and the old configuration files will not be automatically migrated to the new folder. Therefore, you can migrate the custom configuration settings to the configuration files within the new conf directory
  8. Using maprcli commands, start the Storm nimbus, storm-ui, and supervisor services:
    maprcli node services -name nimbus -action start -nodes <node list>
    maprcli node services -name storm-ui -action start -nodes <node list>
    maprcli node services -name supervisor -action start -nodes <node list>
  9. Resubmit the topology:
    storm jar <jar-path> <main class>