Upgrade to Elastic 8.10.0edit
Before you upgrade to 8.10.0, it’s important to take some preparation steps. These steps vary based on your current version:
Upgrading from a release candidate build, such as 8.0.0-rc1 or 8.0.0-rc2, is not supported. Pre-releases should only be used for testing in a temporary environment.
Prepare to upgrade from an earlier 8.x versionedit
-
Review the breaking changes for each product you use and make the necessary changes so your code is compatible with 8.10.0:
- Make sure you check the breaking changes for each minor release up to 8.10.0.
- If you are using machine learning datafeeds that contain discontinued search or query domain specific language (DSL), the upgrade will fail. In 5.6.5 and later, the Upgrade Assistant provides information about which datafeeds need to be updated.
- If you use any Elasticsearch plugins, make sure there is a version of each plugin that is compatible with Elasticsearch version 8.10.0.
- Test the upgrade in an isolated environment before upgrading your production cluster.
-
Make sure you have a current snapshot before you start the upgrade.
You cannot downgrade Elasticsearch nodes after upgrading. If you cannot complete the upgrade process, you will need to restore from the snapshot.
- If you use a separate monitoring cluster, you should upgrade the monitoring cluster before the production cluster. In general, the monitoring cluster and the clusters being monitored should be running the same version of the stack. A monitoring cluster cannot monitor production clusters running newer versions of the stack. If necessary, the monitoring cluster can monitor production clusters running the latest release of the previous major version.
Prepare to upgrade from 7.xedit
To upgrade to 8.10.0 from 7.16 or earlier, you must first upgrade to 7.17. This enables you to use the Upgrade Assistant to identify and resolve issues, reindex indices created before 7.0, and then perform a rolling upgrade.
Upgrading to 7.17 before upgrading to 8.10.0 is required even if you opt to do a full-cluster restart of your Elasticsearch cluster. Alternatively, you can create a new 8.10.0 deployment and reindex from remote. For more information, see Reindex to upgrade.
Beats and Logstash 7.n are compatible with Elasticsearch 8.10.0 to give you flexibility in scheduling the upgrade.
Remote cluster compatibility
If you use cross-cluster search, note that 8.10.0 can only search remote clusters running the previous minor version or later. For more information, see Searching across clusters.
If you use cross-cluster replication, a cluster that contains follower indices must run the same or newer version as the remote cluster. For more information, see Cross cluster replication for version compatibility matrix.
You can view your remote clusters from Stack Management > Remote Clusters.
-
Use the Upgrade Assistant to prepare for your upgrade from 7.17 to 8.10.0. The Upgrade Assistant identifies deprecated settings and guides you through resolving issues and reindexing indices created before 7.0. Make sure you have a current snapshot before making configuration changes or reindexing.
You must resolve all critical issues before proceeding with the upgrade.
-
Review the deprecation logs from the Upgrade Assistant to determine if your applications are using features that are not supported or behave differently in 8.x. See the breaking changes for more information about changes in 8.10.0 that could affect your application.
Make sure you check the breaking changes for each minor 8.x release up to 8.10.0.
-
Make the recommended changes to ensure that your applications continue to operate as expected after the upgrade.
As a temporary solution, you can submit requests to 8.x using the 7.x syntax with the REST API compatibility mode. While this enables you to submit requests that use the old syntax, it does not guarantee the same behavior. REST API compatibility should be a bridge to smooth out the upgrade process, not a long term strategy. For more information, see REST API compatibility.
- If you use any Elasticsearch plugins, make sure there is a version of each plugin that is compatible with Elasticsearch version 8.10.0.
- Test the upgrade in an isolated environment before upgrading your production cluster.
-
Make sure you have a current snapshot before you start the upgrade.
You cannot downgrade Elasticsearch nodes after upgrading. If you cannot complete the upgrade process, you will need to restore from the snapshot.
- If you use a separate monitoring cluster, you should upgrade the monitoring cluster before the production cluster. In general, the monitoring cluster and the clusters being monitored should be running the same version of the stack. A monitoring cluster cannot monitor production clusters running newer versions of the stack. If necessary, the monitoring cluster can monitor production clusters running the latest release of the previous major version.
Upgrade on Elastic Cloudedit
Once you are prepared to upgrade, a single click in the Elastic Cloud console can upgrade a deployment to a newer version, add more processing capacity, change plugins, and enable or disable high availability, all at the same time. During the upgrade process, Elasticsearch, Kibana, and all of your deployment components are upgraded simultaneously.
Minor version upgrades, upgrades from 7.17 to 8.10.0, and cluster configuration changes can be performed with no downtime. Elastic Cloud only supports upgrades to released versions. Preview releases and master snapshots are not supported.
Elasticsearch Service and Elastic Cloud Enterprise do not support the ability to upgrade to or from release candidate builds, such as 8.0.0-rc1.
If you use a separate monitoring deployment, you should upgrade the monitoring deployment before the production deployment. In general, the monitoring deployment and the deployments being monitored should be running the same version of the Elastic Stack. A monitoring deployment cannot monitor production deployments running newer versions of the stack. If necessary, the monitoring deployment can monitor production deployments running the latest release of the previous major version.
Although it’s simple to upgrade an Elastic Cloud deployment, the new version might include breaking changes that affect your application. Make sure you review the deprecation logs, make any necessary changes, and test against the new version before upgrading your production deployment.
- Upgrade Assistant
- Prior to upgrading, Elastic Cloud checks the deprecation API to retrieve information about the cluster, node, and index-level settings that need to be removed or changed. If there are any issues that would prevent a successful upgrade, the upgrade is blocked. Use the Upgrade Assistant in 7.17 to identify and resolve issues and reindex any indices created before 7.0.
- Snapshots
-
To keep your data safe during the upgrade process, a snapshot is taken automatically before any changes are made to your cluster. After a major version upgrade is complete and a snapshot of the upgraded cluster is available, all snapshots taken with the previous major version of Elasticsearch are stored in the snapshot repository.
From version 8.3, snapshots are generally available as simple archives. Use the archive functionality to search snapshots as old as version 5.0 without the need of an old Elasticsearch cluster. This ensures that data you store in Elasticsearch doesn’t have an end of life and is still accessible when you upgrade, without requiring a reindex process.
On Elastic Cloud Enterprise, you need to configure a snapshot repository to enable snapshots.
- Breaking changes
-
Major version upgrades can include breaking changes that require you to take additional steps to ensure that your applications behave as expected after the upgrade. Make sure you test against the new version before upgrading existing deployments.
Review the Breaking changes and upgrade your code to work with 8.10.0.
- Known issues
- In Elasticsearch 7.8 and later, index lifecycle management (ILM) is always enabled, even if the cluster is still using deprecated index curation methods. If index curation and ILM are both configured to manage the same indices, the outcome can be unpredictable. Elastic solutions default to using ILM, and we strongly encourage you to migrate all of your indices to ILM.
- Security realm settings
-
During the upgrade process, you are prompted to update the security realm settings if your user settings include a
xpack.security.authc.realms
value.If the security realms are configured in
user_settings
, you’ll be prompted to modify the settings:- On the Update security realm settings window, edit the settings.
-
Click Update settings.
If the security realm settings are located in
user_settings_override
, contact support to help you upgrade.
Perform the upgradeedit
Log in to your Elastic Cloud environment:
- Log in to the Elasticsearch Service Console.
-
Select your deployment on the home page in the Elasticsearch Service card or go to the deployments page.
Narrow your deployments by name, ID, or choose from several other filters. To customize your view, use a combination of filters, or change the format from a grid to a list.
- Log into the Cloud UI
-
On the deployments page, select your deployment.
Narrow the list by name, ID, or choose from several other filters. To further define the list, use a combination of filters.
To upgrade a deployment:
- In the Deployment version section, click Upgrade.
- Select version 8.10.0.
-
Click Upgrade and then Confirm upgrade. The new configuration takes a few minutes to create.
If any incompatibilities are detected when you attempt to upgrade to 8.10.0, the UI provides a link to the Upgrade Assistant, which checks for deprecated settings in your cluster and indices and helps you resolve them. After resolving the issues, return to the deployments page and restart the upgrade.
Upgrading Elasticsearch clients and ingest componentsedit
Once you have upgraded from 7.17, you need to update your Elasticsearch clients and ingest components in the following order:
- Java API Client: dependency configuration
- Logstash: upgrade instructions
- Beats: upgrade instructions
- Elastic Agent: upgrade instructions
Reindex to upgradeedit
If you are running a pre-7.x version, you might need to perform multiple upgrades or a full-cluster restart to get to 7.17 to prepare to upgrade to 8.10.0.
Alternatively, you can create a new 8.10.0 deployment and reindex from remote:
- Provision an additional deployment running 8.10.0.
- Reindex your data into the new Elasticsearch cluster using reindex from remote and temporarily send new index requests to both clusters.
- Verify that the new cluster performs as expected, fix any problems, and then permanently swap in the new cluster.
- Delete the old deployment. On Elastic Cloud, you are billed only for the time that the new deployment runs in parallel with your old deployment. Usage is billed on an hourly basis.
Upgrade Elastic on-premedit
Once you are prepared to upgrade, you will need to upgrade each of your Elastic components individually.
- Consider closing machine learning jobs before you start the upgrade process. While machine learning jobs can continue to run during a rolling upgrade, it increases the overhead on the cluster during the upgrade process.
-
Upgrade the components of your Elastic Stack in the following order:
- Elasticsearch Hadoop: install instructions
- Elasticsearch: upgrade instructions
- Kibana: upgrade instructions
- Java API Client: dependency configuration
- Logstash: upgrade instructions
- Beats: upgrade instructions
- Elastic Agent: upgrade instructions