专栏首页云技术分享ElasticSearch高级功能:Cross Cluster Replication实战
原创

ElasticSearch高级功能:Cross Cluster Replication实战

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

前言

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

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

1,数据迁移;

2,异地备份。

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

基本架构

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上执行:

PUT test
{
  "settings": {
    "index.soft_deletes.enabled": true
  }
}

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

在集群A上执行:

GET _nodes

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

任意一个节点的transport_ip

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

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

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

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

4,在kibana部署CCR

在kibana部署CCR 图1
在kibana部署CCR 图2
在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无法写入的原因

总结

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

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

【完】

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ElasticSearch实战:IK中文分词插件

    https://github.com/medcl/elasticsearch-analysis-ik

    BH8ANK
  • 快照是什么?揭秘存储快照的实现

    存储网络行业协会SNIA(StorageNetworking Industry Association)快照的定义:关于指定数据集合的一个完全可用拷贝,该拷贝包...

    BH8ANK
  • ElasticSearch压测工具:esrally离线使用详解

    esrally是一款用于ElasticSearch的开源压测工具。默认情况下,其工作方式是:在线获取其位于海外主机上的数据集,然后在本地执行压测。因此,在国内网...

    BH8ANK
  • Tendermint: 什么是 ABCI (应用区块链接口)

    区块链应用接口(Application BlockChain Interface,ABCI)允许应用的拜占庭容错复制可以由任意一种编程语言编写。

    用户1558438
  • 日活百万的APP,如何应对并发聊天的消息请求?

    这些照片,主要有2种风格

    腾讯云通信团队
  • python入门系列----环境搭建

    可在官网下载, 一般是龟速下载, 可通过淘宝镜像站下载: https://npm.taobao.org/mirrors, 推荐点此直接下载

    devecor
  • (25)打鸡儿教你Vue.js

    达达前端
  • TKE操作笔记04

    良好的监控环境为腾讯云容器服务高可靠性、高可用性和高性能提供重要保证。您可以方便为不同资源收集不同维度的监控数据,能方便掌握资源的使用状况,轻松定位故障。 腾讯...

    聂小星
  • Leetcode之-题38

    题目 Count and Say The count-and-say sequence is the sequence of integers beg...

    GavinZhou
  • win 10安装java环境并适配,进而适配burp suit(一)[java]

    2、卸载原java环境,推荐使用官方软件卸载:https://java.com/en/download/uninstalltool.jsp

    道灵竹雨

扫码关注云+社区

领取腾讯云代金券