This documentation contains work-in-progress information for future Elastic Stack and Cloud releases. Use the version selector to view supported release docs. It also contains some Elastic Cloud serverless information. Check out our serverless docs for more details.
Prerequisites
editPrerequisites
editBefore completing this tutorial, set up cross-cluster replication to connect two clusters and configure a follower index.
In this tutorial, kibana_sample_data_ecommerce
is replicated from clusterA
to clusterB
.
resp = client.cluster.put_settings( persistent={ "cluster": { "remote": { "clusterA": { "mode": "proxy", "skip_unavailable": "true", "server_name": "clustera.es.region-a.gcp.elastic-cloud.com", "proxy_socket_connections": "18", "proxy_address": "clustera.es.region-a.gcp.elastic-cloud.com:9400" } } } }, ) print(resp)
response = client.cluster.put_settings( body: { persistent: { cluster: { remote: { "clusterA": { mode: 'proxy', skip_unavailable: 'true', server_name: 'clustera.es.region-a.gcp.elastic-cloud.com', proxy_socket_connections: '18', proxy_address: 'clustera.es.region-a.gcp.elastic-cloud.com:9400' } } } } } ) puts response
const response = await client.cluster.putSettings({ persistent: { cluster: { remote: { clusterA: { mode: "proxy", skip_unavailable: "true", server_name: "clustera.es.region-a.gcp.elastic-cloud.com", proxy_socket_connections: "18", proxy_address: "clustera.es.region-a.gcp.elastic-cloud.com:9400", }, }, }, }, }); console.log(response);
### On clusterB ### PUT _cluster/settings { "persistent": { "cluster": { "remote": { "clusterA": { "mode": "proxy", "skip_unavailable": "true", "server_name": "clustera.es.region-a.gcp.elastic-cloud.com", "proxy_socket_connections": "18", "proxy_address": "clustera.es.region-a.gcp.elastic-cloud.com:9400" } } } } }
resp = client.ccr.follow( index="kibana_sample_data_ecommerce2", wait_for_active_shards="1", remote_cluster="clusterA", leader_index="kibana_sample_data_ecommerce", ) print(resp)
const response = await client.ccr.follow({ index: "kibana_sample_data_ecommerce2", wait_for_active_shards: 1, remote_cluster: "clusterA", leader_index: "kibana_sample_data_ecommerce", }); console.log(response);
### On clusterB ### PUT /kibana_sample_data_ecommerce2/_ccr/follow?wait_for_active_shards=1 { "remote_cluster": "clusterA", "leader_index": "kibana_sample_data_ecommerce" }
Writes (such as ingestion or updates) should occur only on the leader index. Follower indices are read-only and will reject any writes.