前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ElasticSearch高级功能:Cross Cluster Replication实战

ElasticSearch高级功能:Cross Cluster Replication实战

原创
作者头像
BH8ANK
发布2020-06-02 20:31:51
3K0
发布2020-06-02 20:31:51
举报
文章被收录于专栏:云技术分享

原创声明:本文首发腾讯云·云+社区,未经允许,不得转载

前言

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

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

1,数据迁移;

2,异地备份。

本文以实战为主,基本概念及原理可参考官网文档

基本架构

CCR架构
CCR架构

需要注意的点:

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

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

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

4,CCR功能需白金版license。

实战

1,环境简介

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

实战架构图
实战架构图

2,配置

1,配置远端集群数据源

在集群A上执行:

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

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

在集群A上执行:

代码语言:javascript
复制
GET _nodes

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

任意一个节点的transport_ip
任意一个节点的transport_ip

3,在本地集群的kibana上添加远端集群

添加远端集群  图1
添加远端集群 图1
添加远端集群  图2
添加远端集群 图2

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

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

4,在kibana部署CCR

在kibana部署CCR  图1
在kibana部署CCR 图1
在kibana部署CCR  图2
在kibana部署CCR 图2
在kibana部署CCR  图3
在kibana部署CCR 图3

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

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

3,测试

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

1,在远端集群PUT文档

在远端集群创建索引
在远端集群创建索引

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

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

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

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

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

修改follower index
修改follower index

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

follower index无法写入的原因
follower index无法写入的原因

总结

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

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

【完】

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 基本架构
  • 实战
    • 1,环境简介
      • 2,配置
        • 1,配置远端集群数据源
        • 2,在远端集群查询节点transport_address
        • 3,在本地集群的kibana上添加远端集群
        • 4,在kibana部署CCR
      • 3,测试
      • 总结
      相关产品与服务
      Elasticsearch Service
      腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档