前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >跨集群复制 Cross-cluster replication(CCR)

跨集群复制 Cross-cluster replication(CCR)

原创
作者头像
南非骆驼说大数据
发布2020-10-26 15:31:35
发布2020-10-26 15:31:35
3.2K0
举报

一、前言|

跨集群复制(CCR)功能支持将远程集群中的索引复制到本地集群,可以在一些常见的生产用例中使用此功能:

  • 灾难恢复(DR)/高可用性(HA):如果主集群发生故障,则进行灾难恢复, 辅助集群可以用作热备份;
  • 地理位置优越:在 Elasticsearch 中复制数据以更接近用户或应用程序服务器,从而减少延迟,可以在本地提供阅读服务;
  • 集中报告:将数据从大量较小的集群复制回一个中央集群进行报告。

Note:CCR 是自 ES6.7以后 的一个 Platinum的功能;

二、CCR的特征

1,CCR是按索引进行编制的;

复制是针对每个索引来配置的,对于每个索引配置的复制,都有以下特点:

  • 复制的源索引称为leader索引
  • 复制的目标索引成为follower索引
  • 一个集群可以同时包含leader索引和follower索引
CCR图解1
CCR图解1

2,复制是主动-被动关系

你可以使用 leader 索引来进行读或写,这个索引存在于远程集群里,但是你只能针对 follower 索引进行读操作,follower 索引存在于本地的集群里。

CCR图解2
CCR图解2

3,复制是基于拉动的 每个分片将从其领导者索引中的相应分片中拉取更改,follower的索引的分片数量与其leader索引相同:

  • 所有操作均由follower复制
  • 复制几乎实时完成
    • 操作被follower分片拉动并批量建立索引
    • 多个请求同时进行,更改可以同时进行
CCR复制顺序
CCR复制顺序

三、部署CCR的前提条件

在进行CCR之前,我们必须满足以下的一些条件:

  • 跨集群复制需要远程集群;
  • 本地集群的 Elasticsearch 版本必须与远程集群相同或比远程集群新。如果较新,则这些版本还必须兼容以下矩阵中概述的版本;
  • 就像上面所讲的那样,因为 CCR 是一个 Platinum 功能,你必须购买版权,或者你可以先尝试一个免费的测试。ES7以后可以开启白金版试用功能《1个月》

具体细节可以参考如下连接:

https://www.elastic.co/guide/en/elasticsearch/reference/7.2/xpack-ccr.html

四、动手实践

试验条件:

1,2个ES集群,信息如下:

集群1
集群1
集群2
集群2

2,CCR的基础前提是必须配置远程集群remote_cluster.信息如下:

https://www.elastic.co/guide/en/elasticsearch/reference/7.2/modules-remote-clusters.html

远程集群的配置有2种方式,一个是图形操作,一个是API操作,比如API,如下操作

配置远程集群
配置远程集群

那上面的意思就是说:

给本地集群配置了一个远程集群,名叫hezhenserver.它有1个节点:10.1.1.238:9300

当然也可以使用图形化操作,如下:

确认是否配置成功,如下:

验证remote_cluster
验证remote_cluster

3, 开启ES白金版试用功能,大概如下配置:

OK,经过上面的配置,我们就完成了远程集群、证书的相关配置,那这样,我们的CCR的前提条件就基本都满足了 。

五、CCR结果论证

1,在远程集群10.1.1.238集群上配置1个leader index server-metrics

配置Leader index
配置Leader index

2,在本地集群上创建一个follower index server-mertics-copy

创建完后索引状态马上从pause变成active.

follower index
follower index

我们马上就可以在本地打开dev tools进行查看,索引就复制过来了

本地集群查看
本地集群查看

我们尝试着在本地集群上给这个follower index进行写操作,看能否成功?报错如下:

发现是不行的。

我们接下来去远程集群leader index去操作一下,增加一个文档

我们再去Local cluster集群上进行搜索操作,发现是可以的。

经过以上的配置说明:我们的自动复制功能已经在起作用。好的,以上就是CCR的相关功能。

相关链接:

https://www.elastic.co/guide/en/elasticsearch/reference/7.2/xpack-ccr.html

六、总结

本节我们讲了ES CCR的复制功能,下节我们接着讲CCS的相关功能;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言|
  • 二、CCR的特征
    • 1,CCR是按索引进行编制的;
    • 2,复制是主动-被动关系
      • 3,复制是基于拉动的 每个分片将从其领导者索引中的相应分片中拉取更改,follower的索引的分片数量与其leader索引相同:
  • 三、部署CCR的前提条件
  • 四、动手实践
    • 1,2个ES集群,信息如下:
    • 2,CCR的基础前提是必须配置远程集群remote_cluster.信息如下:
    • 3, 开启ES白金版试用功能,大概如下配置:
  • 五、CCR结果论证
  • 六、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档