《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.1.跨集群操作(2) https://developer.aliyun.com/article/1228851
跨集群复制(付费功能)
跨集群复制是将特定索引,从一个 Elasticsearch 集群复制到另外的集群。
一般用于以下场景:
l 灾备:数据中心服务中断时,可以继续响应用户的搜索请求,防止用户大的查询影响到写入吞吐。
l 数据本地化:将数据复制到更靠近用户的位置以降低搜索延迟。
跨集群复制使用主动-被动模型,我们将索引写入领导者索引,数据会被复制到一个或多个只读跟随者索引。在将跟随者索引添加到集群之前,我们需要配置包含领导者索引的远程集群。
当领导者索引有写入请求时,跟随者索引从远程集群上的领导者索引中拉取增量数据。我们可以手动创建跟随者索引,或配置自动跟随模式(auto-follow patterns),创建跟随者索引。
我们可以单向或双向配置 CCR:
l 在单向配置中,一个集群仅包含领导者索引,而另一个集群仅包含跟随者索引。
l 在双向配置中,每个集群都包含领导者索引和跟随者索引
快速入门
我们在服务器上启动两个集群来模拟不同地区数据中心的集群:
l “cluster1”:在端口 9200 上运行。我们会将文档从 cluster1 复制到 cluster2。
l “cluster2”:在端口 9400 上运行。cluster2 将维护一个来自 cluster1 的复制索引。
配置远程集群
我们选择 CCR 的单向配置,因此 CCR 是基于拉取模式,所以我们只需要确保 cluster2 连接到cluster1 ,而不需要指定从 cluster2 到 cluster1 的连接。
下面让我们通过 cluster2 上的 API 调用来定义 cluster1:
PUT /_cluster/settings { "persistent": { "cluster": { "remote":{ "cluster1":{ "seeds":["192.168.2.2:9300"] } } } } }
Kibana 中远程集群管理的 UI,单击左侧导航面板中的 “Management”(齿轮图标),然后点击 “Stack Management” ,导航到 Elasticsearch 部分中的 “Remote Clusters”(远程集群)。
《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.1.跨集群操作(4) https://developer.aliyun.com/article/1228849