Update doc as per SDH finding (#101285)

This commit is contained in:
Volodymyr Krasnikov 2023-10-24 15:17:34 -07:00 committed by GitHub
parent 5446d88e3b
commit 66f7298e83
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -10,7 +10,7 @@
---- ----
PUT _data_stream/logs-generic-default PUT _data_stream/logs-generic-default
---- ----
// TESTSETUP // TESTSETUP
[source,console] [source,console]
---- ----
@ -20,12 +20,12 @@ DELETE /_data_stream/*
//// ////
Learn how to set up disaster recovery between two clusters based on Learn how to set up disaster recovery between two clusters based on
bi-directional {ccr}. The following tutorial is designed for data streams which support bi-directional {ccr}. The following tutorial is designed for data streams which support
<<update-docs-in-a-data-stream-by-query,update by query>> and <<delete-docs-in-a-data-stream-by-query,delete by query>>. You can only perform these actions on the leader index. <<update-docs-in-a-data-stream-by-query,update by query>> and <<delete-docs-in-a-data-stream-by-query,delete by query>>. You can only perform these actions on the leader index.
This tutorial works with {ls} as the source of ingestion. It takes advantage of a {ls} feature where {logstash-ref}/plugins-outputs-elasticsearch.html[the {ls} output to {es}] can be load balanced across an array of hosts specified. {beats} and {agents} currently do not This tutorial works with {ls} as the source of ingestion. It takes advantage of a {ls} feature where {logstash-ref}/plugins-outputs-elasticsearch.html[the {ls} output to {es}] can be load balanced across an array of hosts specified. {beats} and {agents} currently do not
support multiple outputs. It should also be possible to set up a proxy support multiple outputs. It should also be possible to set up a proxy
(load balancer) to redirect traffic without {ls} in this tutorial. (load balancer) to redirect traffic without {ls} in this tutorial.
* Setting up a remote cluster on `clusterA` and `clusterB`. * Setting up a remote cluster on `clusterA` and `clusterB`.
* Setting up bi-directional cross-cluster replication with exclusion patterns. * Setting up bi-directional cross-cluster replication with exclusion patterns.
@ -92,7 +92,7 @@ PUT /_ccr/auto_follow/logs-generic-default
"leader_index_patterns": [ "leader_index_patterns": [
".ds-logs-generic-default-20*" ".ds-logs-generic-default-20*"
], ],
"leader_index_exclusion_patterns":"{{leader_index}}-replicated_from_clustera", "leader_index_exclusion_patterns":"*-replicated_from_clustera",
"follow_index_pattern": "{{leader_index}}-replicated_from_clusterb" "follow_index_pattern": "{{leader_index}}-replicated_from_clusterb"
} }
@ -103,7 +103,7 @@ PUT /_ccr/auto_follow/logs-generic-default
"leader_index_patterns": [ "leader_index_patterns": [
".ds-logs-generic-default-20*" ".ds-logs-generic-default-20*"
], ],
"leader_index_exclusion_patterns":"{{leader_index}}-replicated_from_clusterb", "leader_index_exclusion_patterns":"*-replicated_from_clusterb",
"follow_index_pattern": "{{leader_index}}-replicated_from_clustera" "follow_index_pattern": "{{leader_index}}-replicated_from_clustera"
} }
---- ----
@ -126,7 +126,7 @@ pattern in the UI. Use the API in this step.
+ +
This example uses the input generator to demonstrate the document This example uses the input generator to demonstrate the document
count in the clusters. Reconfigure this section count in the clusters. Reconfigure this section
to suit your own use case. to suit your own use case.
+ +
[source,logstash] [source,logstash]
---- ----
@ -171,7 +171,7 @@ Bi-directional {ccr} will create one more data stream on each of the clusters
with the `-replication_from_cluster{a|b}` suffix. At the end of this step: with the `-replication_from_cluster{a|b}` suffix. At the end of this step:
+ +
* data streams on cluster A contain: * data streams on cluster A contain:
** 50 documents in `logs-generic-default-replicated_from_clusterb` ** 50 documents in `logs-generic-default-replicated_from_clusterb`
** 50 documents in `logs-generic-default` ** 50 documents in `logs-generic-default`
* data streams on cluster B contain: * data streams on cluster B contain:
** 50 documents in `logs-generic-default-replicated_from_clustera` ** 50 documents in `logs-generic-default-replicated_from_clustera`
@ -179,7 +179,7 @@ with the `-replication_from_cluster{a|b}` suffix. At the end of this step:
. Queries should be set up to search across both data streams. . Queries should be set up to search across both data streams.
A query on `logs*`, on either of the clusters, returns 100 A query on `logs*`, on either of the clusters, returns 100
hits in total. hits in total.
+ +
[source,console] [source,console]
---- ----
@ -199,27 +199,27 @@ use cases where {ls} ingests continuously.)
bin/logstash -f multiple_hosts.conf bin/logstash -f multiple_hosts.conf
---- ----
. Observe all {ls} traffic will be redirected to `cluster B` automatically. . Observe all {ls} traffic will be redirected to `cluster B` automatically.
+ +
TIP: You should also redirect all search traffic to the `clusterB` cluster during this time. TIP: You should also redirect all search traffic to the `clusterB` cluster during this time.
. The two data streams on `cluster B` now contain a different number of documents. . The two data streams on `cluster B` now contain a different number of documents.
+ +
* data streams on cluster A (down) * data streams on cluster A (down)
** 50 documents in `logs-generic-default-replicated_from_clusterb` ** 50 documents in `logs-generic-default-replicated_from_clusterb`
** 50 documents in `logs-generic-default` ** 50 documents in `logs-generic-default`
* data streams On cluster B (up) * data streams On cluster B (up)
** 50 documents in `logs-generic-default-replicated_from_clustera` ** 50 documents in `logs-generic-default-replicated_from_clustera`
** 150 documents in `logs-generic-default` ** 150 documents in `logs-generic-default`
==== Failback when `clusterA` comes back ==== Failback when `clusterA` comes back
. You can simulate this by turning `cluster A` back on. . You can simulate this by turning `cluster A` back on.
. Data ingested to `cluster B` during `cluster A` 's downtime will be . Data ingested to `cluster B` during `cluster A` 's downtime will be
automatically replicated. automatically replicated.
+ +
* data streams on cluster A * data streams on cluster A
** 150 documents in `logs-generic-default-replicated_from_clusterb` ** 150 documents in `logs-generic-default-replicated_from_clusterb`
** 50 documents in `logs-generic-default` ** 50 documents in `logs-generic-default`
* data streams on cluster B * data streams on cluster B
** 50 documents in `logs-generic-default-replicated_from_clustera` ** 50 documents in `logs-generic-default-replicated_from_clustera`
@ -271,5 +271,5 @@ POST logs-generic-default/_update_by_query
} }
} }
---- ----
+ +
TIP: If a soft delete is merged away before it can be replicated to a follower the following process will fail due to incomplete history on the leader, see <<ccr-index-soft-deletes-retention-period, index.soft_deletes.retention_lease.period>> for more details. TIP: If a soft delete is merged away before it can be replicated to a follower the following process will fail due to incomplete history on the leader, see <<ccr-index-soft-deletes-retention-period, index.soft_deletes.retention_lease.period>> for more details.