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.
Upgrading on Elastic Cloud Enterprise 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: . Upgrade from Elasticsearch version 2.x or version 5.x to version 5.6. . Upgrade from Elasticsearch version 5.6 to version 6.x.
When upgrading to version 6.x, Elastic Cloud Enterprise 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 Enterprise 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:
- At least the default Enable sandboxed inline scripts option must be set on the Configuration page for your cluster or the upgrade to version 6.x cannot proceed.
- Reindex indices created in older versions of Elasticsearch to ensure compatibility with version 6.x.
- Review breaking changes in Elasticsearch 6.x before upgrading.
- Check the known issues on Elastic Cloud Enterprise.
In version 6.x, TLS between Elasticsearch cluster nodes is always enabled on Elastic Cloud Enterprise. To enable internal TLS between cluster nodes, Elasticsearch cluster must perform a full cluster restart on Elastic Cloud Enterprise, 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 Enterprise documentation that you are currently reading:
To ensure an upgrade process that always keeps your data safe, Elastic Cloud Enterprise 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.
To enable snapshots, you need to configure a snapshot repository.
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.8.
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 Enterprise, use the Upgrade Assistant in Kibana to reindex your data.
The following known problems apply to the Elastic Stack 6.8.4 release:
- The Transport Client is not supported in 6.8.4. While we work on adding support, you can continue to use the Java REST client as a workaround.
To deploy 6.8, excluding Elastic Stack 6.8.4 and earlier releases:
- Log into the Cloud UI.
- Upgrade from Elasticsearch version 2.x or version 5.x to version 5.6.
- Upgrade from version 5.6 to version 6.x.
- Test Elasticsearch and Kibana 6.x!