Upgrade to Elasticsearch 6.x
editUpgrade to Elasticsearch 6.x
editVersion 6.8 of Elasticsearch has passed its EOL date. This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade your deployment to a more current version of the Elastic stack.
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
editUpgrading on Elasticsearch Add-On for Heroku 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 5.x to version 5.6. . Upgrade from Elasticsearch version 5.6 to version 6.x.
When upgrading to version 6.x, Elasticsearch Add-On for Heroku 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, Elasticsearch Add-On for Heroku 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:
- Enable inline scripting. 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 Elasticsearch Add-On for Heroku.
In version 6.x, TLS between Elasticsearch cluster nodes is always enabled on Elasticsearch Add-On for Heroku. To enable internal TLS between cluster nodes, Elasticsearch cluster must perform a full cluster restart on Elasticsearch Add-On for Heroku, 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 Elasticsearch Add-On for Heroku documentation that you are currently reading:
Snapshot behavior during upgrades
editTo ensure an upgrade process that always keeps your data safe, Elasticsearch Add-On for Heroku 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, the snapshot taken with previous version of Elasticsearch is listed under snapshots.
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, snapshots taken with version 5.6 is listed under snapshots.
Review breaking changes in Elasticsearch 6.x
editElastic 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, check Breaking changes in 6.8.
Reindex indices created in older versions of Elasticsearch
editElasticsearch 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. If prompted by Elasticsearch Add-On for Heroku, use the Upgrade Assistant in Kibana to reindex your data.
Known issues with 6.8.23 on Elasticsearch Add-On for Heroku
editThe following known problems apply to the Elastic Stack 6.8.23 release:
- The Transport Client is not supported in 6.8.23. While we work on adding support, you can continue to use the Java REST client as a workaround.
Upgrade to Elastic Stack 6.8
editTo deploy 6.8, excluding Elastic Stack 6.8.23 and earlier releases:
- Log in to the Elasticsearch Add-On for Heroku console.
- 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!