Skip to content

Commit ddef381

Browse files
committed
Updates ref links to "prepare to upgrade"
1 parent a360b15 commit ddef381

File tree

6 files changed

+390
-396
lines changed

6 files changed

+390
-396
lines changed

deploy-manage/upgrade/deployment-or-cluster.md

Lines changed: 0 additions & 333 deletions
Original file line numberDiff line numberDiff line change
@@ -81,336 +81,3 @@ If you’re using self-managed infrastructure - either on-prem or public cloud -
8181
* [Upgrade the {{stack}}](/deploy-manage/upgrade/deployment-or-cluster/self-managed.md)
8282
* [Upgrade on {{ece}} (ECE)](/deploy-manage/upgrade/deployment-or-cluster/upgrade-on-ece.md)
8383
* [Upgrade on {{eck}} (ECK)](/deploy-manage/upgrade/deployment-or-cluster/upgrade-on-eck.md)
84-
85-
## Prepare to upgrade [prepare-to-upgrade]
86-
87-
Before you upgrade, review and complete the necessary preparation steps, which vary by version.
88-
89-
:::{important}
90-
Upgrading from a release candidate build, such as 9.0.0-rc1, is unsupported. Use pre-releases only for testing in a temporary environment.
91-
:::
92-
93-
## Prepare to upgrade from 8.x [prepare-upgrade-from-8.x]
94-
95-
To upgrade from 8.17.0 or earlier to 9.0.0, you must first upgrade to the latest 8.18 patch release. This enables you to use the [Upgrade Assistant](prepare-to-upgrade/upgrade-assistant.md) to identify and resolve issues, reindex indices created before 8.0.0, and perform a rolling upgrade. Upgrading to the latest 8.18 patch release is required even if you choose a full {{es}} cluster restart. If you're using 7.x and earlier, you may need to complete multiple upgrades or perform a full-cluster restart to reach the latest 8.18 patch release before upgrading to 9.0.0.
96-
97-
Alternatively, you can create a 9.0 deployment and reindex from remote. For more information, refer to [Reindex to upgrade](#reindex-to-upgrade).
98-
99-
:::{note}
100-
For flexible upgrade scheduling, 8.18.0 {{beats}} and {{ls}} are compatible with 9.0.0 {{es}}.
101-
By default, 8.x {{es}} clients are compatible with 9.0.0 and use [REST API compatibility](elasticsearch://reference/elasticsearch/rest-apis/compatibility.md) to maintain compatibility with the 9.0.0 {{es}} server.
102-
:::
103-
104-
Review the best practices to upgrade your deployments.
105-
106-
1. Run the [Upgrade Assistant](prepare-to-upgrade/upgrade-assistant.md), which identifies deprecated settings, helps resolve issues, and reindexes data streams and indices created in 8.0.0 and earlier.
107-
108-
:::{note}
109-
Depending on your setup, reindexing can change your indices, and you may need to update alerts, transforms, or other code targeting the old index.
110-
:::
111-
112-
2. Before you change configurations or reindex, ensure you have a current [snapshot](/deploy-manage/tools/snapshot-and-restore/create-snapshots.md).
113-
114-
:::{tip}
115-
Tip: In 8.3.0 and later, snapshots are generally available as simple archives. Use the [archive functionality](/deploy-manage/upgrade/deployment-or-cluster/reading-indices-from-older-elasticsearch-versions.md) to search snapshots from 5.0.0 and later, without needing an old {{es}} cluster. This ensures that your {{es}} data remains accessible after upgrades, without requiring a reindex process.
116-
:::
117-
118-
To successfully upgrade, resolve all critical issues. If you make additional changes, create a snapshot to back up your data.
119-
120-
3. To identify if your applications use unsupported features or behave differently in 9.0.0, review the deprecation logs in the Upgrade Assistant.
121-
122-
4. Major version upgrades can include breaking changes that require additional steps to ensure your applications function as expected. Review the breaking changes for each product you use to learn more about potential impacts on your application. Ensure you test with the new version before upgrading existing deployments.
123-
124-
5. To ensure your clients continue to operate as expected after the upgrade, make the recommended changes.
125-
126-
:::{note}
127-
As a temporary solution, use the 8.x syntax to submit requests to 9.0.0 with REST API compatibility mode. While this allows you to submit requests using the old syntax, it doesn’t guarantee the same behavior. REST API compatibility should serve as a bridge during the upgrade, not a long-term solution. For more details on how to effectively use REST API compatibility during an upgrade, refer to [REST API compatibility](elasticsearch://reference/elasticsearch/rest-apis/compatibility.md).
128-
:::
129-
130-
6. If you use {{es}} plugins, ensure each plugin is compatible with the {{es}} version you're upgrading.
131-
132-
7. Before upgrading your production deployment, we recommend creating a 9.0.0 test deployment and testing the upgrade in an isolated environment. Ensure the test and production environments use the same settings.
133-
134-
:::{important}
135-
After you upgrade, you cannot downgrade {{es}} nodes. If you can't complete the upgrade process, you must [restore from the snapshot](/deploy-manage/tools/snapshot-and-restore/restore-snapshot.md).
136-
:::
137-
138-
8. If you use a separate [monitoring cluster](/deploy-manage/monitor/stack-monitoring/elasticsearch-monitoring-self-managed.md), upgrade the monitoring cluster before the production cluster. The monitoring cluster and the clusters being monitored should be running the same version of the {{stack}}. Monitoring clusters are unable to 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.
139-
140-
:::{note}
141-
If you use {{ccs}}, 9.0.0 and later can search only remote clusters running the previous minor version, the same version, or a newer minor version in the same major version. For more information, refer to [Cross-cluster search](../../solutions/search/cross-cluster-search.md).
142-
143-
If you use {{ccr}}, a cluster that contains follower indices must run the same or newer (compatible) version as the remote cluster. For more information and to view the version compatibility matrix, refer to [Cross cluster replication](/deploy-manage/tools/cross-cluster-replication.md). To view your remote clusters in {{kib}}, go to **Stack Management > Remote Clusters**.
144-
::::
145-
146-
9. To reduce overhead on the cluster during the upgrade, close {{ml}} jobs. Although {{ml}} jobs can run during a rolling upgrade, doing so increases the cluster workload.
147-
148-
10. If you have `.ml-anomalies-*`anomaly detection result indices created in {{es}} 7.x, reindex, mark as read-only, or delete them before you upgrade to 9.0.0. For more information, refer to [Migrate anomaly detection results](#anomaly-migration).
149-
150-
11. If you have transform destination indices created in {{es}} 7.x, reset, reindex, or delete them before you upgrade to 9.0.0. For more information, refer to [Migrate transform destination indices](#transform-migration).
151-
152-
153-
## Reindex to upgrade [reindex-to-upgrade]
154-
155-
Optionally create a 9.0.0 deployment and reindex from remote:
156-
157-
1. Provision an additional deployment running 9.0.0.
158-
2. To reindex your data into the new {{es}} cluster, use the [reindex documents API](https://www.elastic.co/docs/api/doc/elasticsearch/v8/operation/operation-reindex) and temporarily send new index requests to both clusters.
159-
3. Verify the new cluster performs as expected, fix any problems, and then permanently swap in the new cluster.
160-
4. Delete the old deployment. On {ecloud}, you are billed only for the time the new deployment runs in parallel with your old deployment. Usage is billed on an hourly basis.
161-
162-
163-
## Migrate anomaly detection results [anomaly-migration]
164-
165-
Reindex, mark as read-only, or delete the `.ml-anomalies-*` {{anomaly-detect}} result indices created in {{es}} 7.x.
166-
167-
**Reindex**: While {{anomaly-detect}} results are being reindexed, jobs continue to run and process new data. You are unable to delete an {{anomaly-job}} that stores results in the index until the reindexing is complete.
168-
169-
**Mark indices as read-only**: This is useful for large indexes that contain the results of one or two {{anomaly-jobs}}. If you delete these jobs later, you cannot create a new job with the same name.
170-
171-
**Delete**: Delete jobs that are no longer needed in the {{ml-app}} app in {{kib}}. The result index is deleted when all jobs that store results in it have been deleted.
172-
173-
:::{dropdown} Which indices require attention?
174-
To identify indices that require action, use the [Deprecation info API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-migration-deprecations-1):
175-
176-
```
177-
GET /.ml-anomalies-*/_migration/deprecations
178-
```
179-
180-
The response contains the list of critical deprecation warnings in the `index_settings` section:
181-
182-
```json
183-
"index_settings": {
184-
".ml-anomalies-shared": [
185-
{
186-
"level": "critical",
187-
"message": "Index created before 8.0",
188-
"url": "https://ela.st/es-deprecation-8-reindex",
189-
"details": "This index was created with version 7.8.23 and is not compatible with 9.0. Reindex or remove the index before upgrading.",
190-
"resolve_during_rolling_upgrade": false
191-
}
192-
]
193-
}
194-
```
195-
:::
196-
197-
:::{dropdown} Reindexing anomaly result indices
198-
For an index with less than 10GB that contains results from multiple jobs that are still required, we recommend reindexing into a new format using UI. You can use the [Get index information API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cat-indices-1) to obtain the size of an index:
199-
200-
```
201-
GET _cat/indices/.ml-anomalies-custom-example?v&h=index,store.size
202-
```
203-
204-
The reindexing can be initiated in the {{kib}} Upgrade Assistant.
205-
206-
If an index size is greater than 10 GB, it is recommended to use the Reindex API. Reindexing consists of the following steps:
207-
208-
1. Set the original index to read-only.
209-
210-
```
211-
PUT .ml-anomalies-custom-example/_block/read_only
212-
```
213-
214-
2. Create a new index from the legacy index.
215-
216-
```
217-
POST _create_from/.ml-anomalies-custom-example/.reindexed-v9-ml-anomalies-custom-example
218-
```
219-
220-
3. Reindex documents. To accelerate the reindexing process, it is recommended that the number of replicas be set to `0` before the reindexing and then set back to the original number once it is completed.
221-
222-
1. Get the number of replicas.
223-
224-
```
225-
GET /.reindexed-v9-ml-anomalies-custom-example/_settings
226-
```
227-
228-
Note the number of replicas in the response. For example:
229-
230-
```json
231-
{
232-
".reindexed-v9-ml-anomalies-custom-example": {
233-
"settings": {
234-
"index": {
235-
"number_of_replicas": "1",
236-
"number_of_shards": "1"
237-
}
238-
}
239-
}
240-
}
241-
```
242-
243-
2. Set the number of replicas to `0.`
244-
245-
```json
246-
PUT /.reindexed-v9-ml-anomalies-custom-example/_settings
247-
{
248-
"index": {
249-
"number_of_replicas": 0
250-
}
251-
}
252-
```
253-
254-
3. Start the reindexing process in asynchronous mode.
255-
256-
```json
257-
POST _reindex?wait_for_completion=false
258-
{
259-
"source": {
260-
"index": ".ml-anomalies-custom-example"
261-
},
262-
"dest": {
263-
"index": ".reindexed-v9-ml-anomalies-custom-example"
264-
}
265-
}
266-
```
267-
268-
The response will contain a `task_id`. You can check when the task is completed using the following command:
269-
270-
```
271-
GET _tasks/<task_id>
272-
```
273-
274-
4. Set the number of replicas to the original number when the reindexing is finished.
275-
276-
```json
277-
PUT /.reindexed-v9-ml-anomalies-custom-example/_settings
278-
{
279-
"index": {
280-
"number_of_replicas": "<original_number_of_replicas>"
281-
}
282-
}
283-
```
284-
285-
4. Get the aliases the original index is pointing to.
286-
287-
```
288-
GET .ml-anomalies-custom-example/_alias
289-
```
290-
291-
The response may contain multiple aliases if the results of multiple jobs are stored in the same index.
292-
293-
```json
294-
{
295-
".ml-anomalies-custom-example": {
296-
"aliases": {
297-
".ml-anomalies-example1": {
298-
"filter": {
299-
"term": {
300-
"job_id": {
301-
"value": "example1"
302-
}
303-
}
304-
},
305-
"is_hidden": true
306-
},
307-
".ml-anomalies-example2": {
308-
"filter": {
309-
"term": {
310-
"job_id": {
311-
"value": "example2"
312-
}
313-
}
314-
},
315-
"is_hidden": true
316-
}
317-
}
318-
}
319-
}
320-
```
321-
322-
5. Now you can reassign the aliases to the new index and delete the original index in one step. Note that when adding the new index to the aliases, you must use the same `filter` and `is_hidden` parameters as for the original index.
323-
324-
```json
325-
POST _aliases
326-
{
327-
"actions": [
328-
{
329-
"add": {
330-
"index": ".reindexed-v9-ml-anomalies-custom-example",
331-
"alias": ".ml-anomalies-example1",
332-
"filter": {
333-
"term": {
334-
"job_id": {
335-
"value": "example1"
336-
}
337-
}
338-
},
339-
"is_hidden": true
340-
}
341-
},
342-
{
343-
"add": {
344-
"index": ".reindexed-v9-ml-anomalies-custom-example",
345-
"alias": ".ml-anomalies-example2",
346-
"filter": {
347-
"term": {
348-
"job_id": {
349-
"value": "example2"
350-
}
351-
}
352-
},
353-
"is_hidden": true
354-
}
355-
},
356-
{
357-
"remove": {
358-
"index": ".ml-anomalies-custom-example",
359-
"aliases": ".ml-anomalies-*"
360-
}
361-
},
362-
{
363-
"remove_index": {
364-
"index": ".ml-anomalies-custom-example"
365-
}
366-
},
367-
{
368-
"add": {
369-
"index": ".reindexed-v9-ml-anomalies-custom-example",
370-
"alias": ".ml-anomalies-custom-example",
371-
"is_hidden": true
372-
}
373-
}
374-
]
375-
}
376-
```
377-
:::
378-
379-
380-
:::{dropdown} Marking anomaly result indices as read-only
381-
Legacy indices created in {{es}} 7.x can be made read-only and supported in {{es}} 9.x. Making an index with a large amount of historical results read-only allows for a quick migration to the next major release, since you don’t have to wait for the data to be reindexed into the new format. However, it has the limitation that even after deleting an {{anomaly-job}}, the historical results associated with this job are not completely deleted. Therefore, the system will prevent you from creating a new job with the same name.
382-
383-
To set the index as read-only, add the write block to the index:
384-
385-
```
386-
PUT .ml-anomalies-custom-example/_block/write
387-
```
388-
389-
Indices created in {{es}} 7.x that have a write block will not raise a critical deprecation warning.
390-
:::
391-
392-
:::{dropdown} Deleting anomaly result indices
393-
If an index contains results of the jobs that are no longer required. To list all jobs that stored results in an index, use the terms aggregation:
394-
395-
```json
396-
GET .ml-anomalies-custom-example/_search
397-
{
398-
"size": 0,
399-
"aggs": {
400-
"job_ids": {
401-
"terms": {
402-
"field": "job_id",
403-
"size": 100
404-
}
405-
}
406-
}
407-
}
408-
```
409-
410-
The jobs can be deleted in the UI. After the last job is deleted, the index will be deleted as well.
411-
:::
412-
413-
## Migrate transform destination indices [transform-migration]
414-
=======
415-
416-

deploy-manage/upgrade/deployment-or-cluster/elasticsearch.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ applies_to:
88

99
An {{es}} cluster can be upgraded one node at a time so upgrading does not interrupt service. Running multiple versions of {{es}} in the same cluster beyond the duration of an upgrade is not supported, as shards cannot be replicated from upgraded nodes to nodes running the older version.
1010

11-
Before you start, [take the upgrade preparation steps](../../../deploy-manage/upgrade/prepare-to-upgrade.md). When performing a [rolling upgrade](#rolling-upgrades):
11+
Before you start, [take the upgrade preparation steps](/deploy-manage/upgrade/prepare-to-upgrade.md). When performing a [rolling upgrade](#rolling-upgrades):
1212

1313
1. Upgrade the data nodes first, tier-by-tier, starting with the frozen tier, then the cold tier, then the warm tier, then the hot tier, and finally any other data nodes which are not in a tier. Complete the upgrade for all nodes in each data tier before moving to the next. This ensures {{ilm-init}} can continue to move data through the tiers during the upgrade. You can get the list of nodes in a specific tier with a `GET /_nodes` request, for example: `GET /_nodes/data_frozen:true/_none`.
1414
2. Upgrade all remaining nodes that are neither master-eligible nor data nodes. This includes dedicated ML nodes, dedicated ingest nodes, and dedicated coordinating nodes.

deploy-manage/upgrade/deployment-or-cluster/kibana.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ For large deployments with more than 10 {{kib}} instances, and more than 10,000
2626

2727
## Preparing for upgrading [preventing-migration-failures]
2828

29-
Before you start, ensure you [take the upgrade preparation steps](../prepare-to-upgrade.md). Then, take these extra steps to ensure you are ready to upgrade.
29+
Before you start, ensure you [take the upgrade preparation steps](/deploy-manage/upgrade/prepare-to-upgrade.md). Then, take these extra steps to ensure you are ready to upgrade.
3030

3131

3232
### Ensure your {{es}} cluster is healthy [_ensure_your_es_cluster_is_healthy]

deploy-manage/upgrade/deployment-or-cluster/self-managed.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Upgrade Elastic on a self-managed cluster
22

3-
If you've installed the {{stack}} on your own self-managed infrastructure, once you're [prepared to upgrade](/deploy-manage/upgrade/deployment-or-cluster.md#prepare-to-upgrade), you'll need to upgrade each of your Elastic components individually.
3+
If you've installed the {{stack}} on your own self-managed infrastructure, once you're [prepared to upgrade](/deploy-manage/upgrade/prepare-to-upgrade.md), you'll need to upgrade each of your Elastic components individually.
44

55
It's important that you upgrade your components in this order:
66
* [{{es}}](/deploy-manage/upgrade/deployment-or-cluster/elasticsearch.md)

0 commit comments

Comments
 (0)