Rolling upgrade

The steps on this page are most applicable if you installed Open Distro for Elasticsearch using the RPM or Debian packages. If you used a Docker image, see Docker upgrade.

  1. Disable shard allocation to prevent Elasticsearch from replicating shards as you shut down each node:

    PUT _cluster/settings
    {
      "persistent": {
        "cluster.routing.allocation.enable": "primaries"
      }
    }
    
  2. Stop Elasticsearch on one node:

    sudo systemctl stop elasticsearch.service
    
  3. Upgrade packages on the node using yum or apt:

    sudo yum install opendistroforelasticsearch
    sudo apt install opendistroforelasticsearch
    

    Alternately, yum lets you upgrade to a specific version of Open Distro for Elasticsearch:

    sudo yum install opendistro-for-elasticsearch-1.2.0
    

    Unfortunately, apt upgrades dependencies to their latest versions and thus only supports upgrades to the newest version of Open Distro for Elasticsearch.

  4. (Optional) Upgrade any additional plugins that you installed on the node. The package manager automatically upgrades Open Distro for Elasticsearch plugins.

  5. Start Elasticsearch on the node:

    sudo systemctl start elasticsearch.service
    
  6. Wait for the node to join your cluster, and verify that the node is using the new version:

    curl -XGET https://localhost:9200/_nodes/_all?pretty=true -u admin:admin -k
    
  7. Enable shard allocation:

    PUT _cluster/settings
    {
      "persistent": {
        "cluster.routing.allocation.enable": "all"
      }
    }
    
  8. Wait for cluster health to return to green:

    curl -XGET https://localhost:9200/_cat/health?v -u admin:admin -k
    
  9. Repeat steps 1-8 for each node.

  10. Open Kibana, and verify that your data is present.