写点什么

E 往无前 | 腾讯云大数据 ElasticSearch 高级功能:Cross Cluster Replication 实战

  • 2023-12-11
    广东
  • 本文字数:1192 字

    阅读完需:约 4 分钟

E往无前 | 腾讯云大数据 ElasticSearch 高级功能:Cross Cluster Replication实战

前言

Elasticsearch 在 platinum 版本中,推出了 Cross Cluster Replication 特性(以下简称 CCR),也即跨集群远程复制。

该特性可以解决两类问题:

1,数据迁移;

2,异地备份。

本文以实战为主,基本概念及原理可参考官网文档。https://www.elastic.co/guide/en/elasticsearch/reference/current/xpack-ccr.html


基本架构

图 1.CCR 结构


需要注意的点:

1、CCR 是针对索引的主从复制,且复制动作是由从端发起的 pull 操作;

2、主端索引(即 leader index)可以读写,从端索引(follower index)只读;

3、主端索引的属性 index.soft_deletes.enabled 必须为 true(具体原因可参考官方文档)

https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-requirements.html#ccr-overview-soft-deletes

4、CCR 功能需白金版 license。


  实战

1、环境简介

腾讯云大数据 Elasticsearch 6.8.2 白金版 集群 * 2,下面简称为集群 A(remote cluster)和集群 B(local cluster)

图 2.实战架构图


2、配置

1)配置远端集群数据源

在集群 A 上执行:

PUT test{  "settings": {    "index.soft_deletes.enabled": true  }}
复制代码

2)在远端集群查询节点 transport_address

在集群 A 上执行:

GET _nodes
复制代码

结果如下,选取任意一个节点的 transport_address 即可

图 3.任意一个节点的 transport_ip


3)在本地集群的 Kibana 上添加远端集群

图 4.添加远端集群


图 5.添加远端集群


如上图,依次操作,在本地集群,也即集群 B 添加远端集群 A。

需要注意,节点 IP & PORT 需要填写上一步获取到的 transport_address。


4)在 Kibana 部署 CCR

图 6.在 Kibana 部署 CCR


图 7.在 Kibana 部署 CCR


图 8.在 Kibana 部署 CCR


如上图,配置好 CCR 后,可以看到,CCR 实例的状态会很快由 Paused 变为 Active。

至此,已完成 CCR 的基本配置。


3、测试

我们可以使用如下方法测试上面配置的 CCR 是否生效。

1)在远端集群 PUT 文档

图 9.在远端集群创建索引


2)在本地集群 GET 对应索引

图 10.在本地集群,查看索引内容


我们可以通过以上 2 步看到,远端集群的 leader index 索引 test 中的内容,已经通过 CCR 复制到了本地集群的 follower index 索引 new 中。

除创建以外,索引的变更、删除也都同上,此处不再赘述。

那么,我们如果在本地集群修改或删除 follower 索引,会如何呢?

图 11.修改 follower index


为什么会出现无法写入的情况,请参考官方文档,如下图:

https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-overview.html

图 12.follower index 无法写入的原因


  总结


以上简单介绍了通过 Kibana 配置并使用 Cross Cluster Replication 的方法,实际仍然可以使用 RESTFUL API 完成所有上述操作,具体可以参考官方文档。有关 CCR 中,自动生成索引部分,这里也不再展开来讲。

CCR 功能的提供,让集群间索引级别的数据复制变得简单。在实际商业应用中,往往是通过 CCR 将生产环境的数据复制到各个集群,供各业务部门分析使用,既能够满足数据分析需要,也避免了业务分析时因误操作修改了生产数据。

用户头像

还未添加个人签名 2020-06-19 加入

欢迎关注,邀您一起探索数据的无限潜能!

评论

发布
暂无评论
E往无前 | 腾讯云大数据 ElasticSearch 高级功能:Cross Cluster Replication实战_ES_腾讯云大数据_InfoQ写作社区