Upgrade to Elasticsearch 6.x

If you have an existing cluster and want to upgrade to version 6.x, there are a few things you need to keep in mind. Preparing for your upgrade ahead of time ensures that you can enjoy the major new features and improved usability of Elasticsearch 6.x as quickly as possible.

Before You Begin

Upgrading on Elastic Cloud differs from upgrading your on-premise installation in that all major configuration changes to upgrade Elasticsearch, Kibana, and X-Pack are handled for you. Your responsibility when preparing to upgrade to version 6.x is to make sure that your indices are ready for version 6.x by reindexing, if necessary, and that you are aware of breaking changes that could affect you.

The upgrade process to Elasticsearch 6.x is a two-step process that uses version 5.6 as an intermediate upgrade step. To upgrade to version 6.x, you must:

  1. Upgrade from Elasticsearch version 2.x or version 5.x to version 5.6.
  2. Upgrade from Elasticsearch version 5.6 to version 6.x.

When upgrading to version 6.x, Elastic Cloud automatically runs the deprecation API to retrieve information about different cluster, node, and index level settings that are removed or changed. If there are any deprecation issues that would prevent the upgraded cluster from performing correctly, Elastic Cloud does not perform the upgrade and instead asks you to resolve the issues through the Upgrade Assistant in Kibana first. If your cluster does not include a Kibana instance yet, you can enable Kibana first and then use the Upgrade Assistant. After resolving the issues flagged by the deprecation API, you should be able to perform the upgrade successfully.

Steps you might need to perform before upgrading:

In version 6.x, TLS between Elasticsearch cluster nodes is always enabled in Elastic Cloud. To enable internal TLS between cluster nodes, Elasticsearch cluster must perform a full cluster restart on Elastic Cloud, even if you are upgrading from version 5.6.

Additional background information about upgrading the Elastic Stack is available, but keep in mind that most steps are handled for you, unless they are specifically called out in the Elastic Cloud documentation that you are currently reading:

Snapshot Behavior During Upgrades

To ensure an upgrade process that always keeps your data safe, Elastic Cloud takes a snapshot before making any changes to your cluster. After a major version upgrade is complete and the first successful snapshot with the new major version is available, all snapshots taken with previous version of Elasticsearch are removed.

For example, before upgrading from Elasticsearch version 5.6 to version 6.x, a snapshot is taken. After the upgrade to version 6.x is complete and a first snapshot with the new version is available, all snapshots taken with version 5.x are removed. Similar behavior applies if you first upgrade from version 2.x to 5.6 and then to 6.x.

Review Breaking Changes in Elasticsearch 6.x

Elastic is always working on making upgrades across major versions easier, but major version upgrades often include so many changes that upgrading can carry some risk. A breaking change is the result of a functional change between major Elasticsearch versions that requires you to perform some additional step or steps in order to ensure that you can use the new version as intended. To learn more, see Breaking changes in 6.0.

Reindex Indices Created in Older Versions of Elasticsearch

Elasticsearch 6.x can read indices created in version 5.0 or above. An Elasticsearch 6.x node will not start if indices created in a version of Elasticsearch before 5.0 are present.

Indices created in Elasticsearch 2.x or before need to be reindexed with Elasticsearch 5.x in order to be readable by Elasticsearch 6.x. If prompted by Elastic Cloud, use the Upgrade Assistant in Kibana to reindex your data.

Known Issues with 6.5.3 in Elastic Cloud

The following known problems apply to the Elastic Stack 6.5.3 release:

  • The Transport Client is not supported in 6.5.3. While we work on adding support, you can continue to use the Java REST client as a workaround.

Upgrade to Elastic Stack 6.5

To deploy 6.5, excluding Elastic Stack 6.5.3 and earlier releases:

  1. Log into the Elastic Cloud Console.
  2. Upgrade from Elasticsearch version 2.x or version 5.x to version 5.6.
  3. Upgrade from version 5.6 to version 6.x.
  4. Test Elasticsearch and Kibana 6.x!