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

Important

For 6.0.0-rc1, check the known issues and then skip ahead to Test with Elastic Stack 6.0.0-rc1. There is no upgrade path supported by this release candidate build and there is no guaranteed upgrade path to subsequent release candidate builds or the GA release for clusters. For more information, see our version policy in Release Candidates and Cutting-Edge Releases.

The following information does not apply to 6.0.0-rc1. It is provided for a future 6.0 release candidate or the GA release of the Elastic Stack.

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 on 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.0.0-rc1 on Elastic Cloud

The following known problems apply to the Elastic Stack 6.0.0-rc1 release:

  • You cannot restore snapshots across clusters. This limitation includes both cloning one cluster from another during cluster creation and restoring a snapshot to another cluster at a later point.
  • Logs for your Elasticsearch 6.0 clusters are not available on the AWS cloud platform.
  • You cannot send monitoring data to another cluster when you enable monitoring. A cluster on version 6.0.0-rc1 can send monitoring data only to itself.

We expect to fix all of these issues in either an upcoming release candidate or in the GA release.

Test with Elastic Stack 6.0.0-rc1

To test with Elastic Stack 6.0.0-rc1:

  1. Log into the Elastic Cloud Console.
  2. Create a new Elasticsearch cluster on version 6.0.0-rc1. .
  3. Test Elasticsearch and Kibana 6.0.0-rc1!

Upgrade to Elastic Stack 6.0

The following steps do not apply to 6.0.0-rc1. They are provided for a future 6.0 release candidate or the GA release of the Elastic Stack.

To deploy 6.0, excluding Elastic Stack 6.0.0-rc1 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!