3分钟学会使用Elasticsearch跨集群复制功能(CCR)

2023-05-16

当您需要将本地Elasticsearch集群中的索引数据迁移到一个远程集群中,或者将一个远程集群中的索引数据迁移到本地集群,可通过跨集群复制CCR(Cross Cluster Replication)功能实现。本文介绍具体的实现方法。

背景信息


CCR是开源Elasticsearch在platinum版本中发布的一个商业特性。购买阿里云Elasticsearch实例后,您无需额外付费,只需要简单配置,即可使用CCR功能(目前仅支持单可用区6.7.0及以上版本的阿里云Elasticsearch实例)。CCR的应用场景如下:

  • 灾难恢复及高可用性对于分布在不同地域的Elasticsearch集群,您可以通过CCR进行数据备份。当其中一个集群发生故障时,您可以通过访问其他集群来获取故障集群的数据,保证数据不丢失。

  • 就近访问数据例如A集团下有多个子公司,各子公司所分布的地域不同。为了提高业务处理速度,可按照地理位置划分子公司要承担的业务,并通过CCR将业务数据分发给各地域中的Elasticsearch集群。子公司在处理业务时,可直接访问当前所在地域的集群。

  • 集中报告通过CCR,将多个数据量较小的集群中的数据复制到一个中央集群中,进行可视化分析与报告。

使用CCR功能,需要准备两种类型的集群。一个是远程集群,即提供源数据(Leader index)的集群;一个是本地集群,即订阅数据(Follower index)的集群。该功能为被动复制,即所有复制任务都是由本地集群执行。同时支持批量实时迁移数据,更多详情请参见Cross-cluster replication。

本文以阿里云Elasticsearch为例,为您介绍跨集群复制功能(CCR)的使用方法。阿里云Elasticsearch兼容开源Elasticsearch的功能,以及Security、Machine Learning、Graph、APM等商业功能,致力于数据分析、数据搜索等场景服务。支持5.5.3、6.3.2、6.7.0、6.8.0和7.4.0等版本,并提供了商业插件X-Pack服务。在开源Elasticsearch的基础上提供企业级权限管控、安全监控告警、自动报表生成等功能。阿里云Elasticsearch为您提供1个月的免费试用活动,单击此处即可免费试用。

操作流程


  1. 准备工作

    准备远程和本地集群,以及待迁移的索引。

  2. 步骤一:配置实例网络互通

    连通远程和本地集群的网络。

  3. 步骤二:添加远程集群

    在本地集群的Kibana控制台中,添加远程集群。

  4. 步骤三:配置跨集群复制

    在本地集群的Kibana控制台中,配置待迁移和迁移后的索引。

  5. 步骤四:验证数据迁移结果

    在远程集群中插入数据,在本地集群中,验证数据是否迁移成功。

准备工作


  1. 准备远程和本地Elasticsearch集群。{#cmd-ps8-i4x-dwf}

    具体操作步骤请参见创建阿里云Elasticsearch实例。要求两个实例为相同版本(6.7.0及以上),可用区类型为单可用区,且在同一专有网络和虚拟交换机下。

  2. 参见登录Kibana控制台,在远程集群中创建待迁移的索引。

    PUT myindex
    {
    "settings": {
     "index.soft_deletes.retention.operations": 1024,
     "index.soft_deletes.enabled": true
    }
    }
    

    注意

    对于7.0及以下版本的Elasticsearch实例,在创建索引时,需要开启soft_deletes属性,否则会报错。
    如果您需要迁移已创建的索引,需要通过重建索引来开启soft_deletes属性。

  3. 关闭待迁移的索引的物理复制功能。

    对于6.7.0版本的阿里云Elasticsearch实例,系统会默认为新建索引开启物理复制功能。使用CCR功能时,需要先关闭物理复制功能。

    1. 关闭索引。

      POST myindex/_close
      
    2. 更新索引settings,关闭物理复制功能。

      POST myindex/_settings
      {
      "index.replication.type" : null
      }
      
    3. 打开索引。{#cmd-c4f-nw3-dk6}

      POST myindex/_open
      

步骤一:配置实例网络互通


参见配置实例网络互通,在远程集群中添加需要进行网络互通的本地集群。最终配置如下。
在这里插入图片描述

步骤二:添加远程集群


  1. 登录本地集群的Kibana控制台。

    具体操作步骤请参见登录Kibana控制台。

  2. 在左侧导航栏,单击 Management

  3. Elasticsearch 区域中,单击 Remote Clusters

  4. 单击 Add a remote cluster

  5. Add remote cluster 页面中,输入远程集群信息。

    在这里插入图片描述

    Name :远程集群的名称,不可重复。
    Seed nodes :需要配置为远程集群的主节点的IP地址:9300。远程集群的主节点的IP地址,可在远程集群的Kibana控制台中,使用GET /_cat/nodes?v命令获取。
    在这里插入图片描述

    注意 由于CCR功能是Kibana通过数据节点之间的TCP端口(9300),访问数据节点IP的形式来进行网络互通,因此不支持HTTP端口(9200)访问。

  6. 单击 Save

    保存后,系统会自动连接远程集群。连接成功后,显示 Connected
    在这里插入图片描述

步骤三:配置跨集群复制


  1. 在本地集群Kibana控制台的 Management 页面,单击 Elasticsearch 区域中的 Cross Cluster Replication

  2. 单击 Create a follower index

  3. Add follower index 页面,配置跨集群复制信息。
    在这里插入图片描述

    参数说明
    Remote cluster选择您在步骤二:添加远程集群中添加的集群。
    Leader index待迁移的索引。本文使用在准备工作中创建的 myindex 索引。
    Follower index迁移数据生成的索引。索引名称不可重复。
  4. 单击 Create

    创建成功后,索引的状态显示为 Active
    在这里插入图片描述

步骤四:验证数据迁移结果


  1. 参见登录Kibana控制台,在远程集群中插入数据。

    POST myindex/_doc/
    {
      "name":"Jack",
      "age":40
    }
    
  2. 在本地集群中,验证数据是否迁移成功。

    GET myindex_follow/_search
    

    迁移成功后,返回如下结果。
    在这里插入图片描述

    从以上结果可以看到,远程集群的Leader索引(myindex)中的数据,已通过CCR功能复制到了本地集群的Follower索引(myindex_follow)中。

  3. 在远程集群中,重新插入一条数据,随即在本地集群中进行查看,验证增量数据是否实时同步。

    POST myindex/_doc/
    {
      "name":"Pony",
      "age":50
    }
    

    数据插入后,立即在本地集群中进行查看,结果如下。
    在这里插入图片描述

    从以上结果可以看到,通过CCR可以实现增量数据的实时同步。
    说明 您也可以通过CCR功能的API,进行跨集群复制相关操作,详情请参见Cross-cluster replication APIs。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

3分钟学会使用Elasticsearch跨集群复制功能(CCR) 的相关文章

  • c#第一天

    Net Net 平台 和 Net FrameWork 框架 xff1a Net FrameWork 框架 xff08 CLR 公共语言运行时 xff0c Net 类库 xff09 交互模式 C S xff1a 客户机 Client 服务器
  • Java输入数判断是否为回文数

    最近看黑马的Java 顺带做了些课后练习 xff0c 感觉代码还是得自己多打打 xff0c 记录比较简陋 import java util Scanner public class HuiWeng public static void ma
  • copilot申请使用流程(自用)

    整体流程 1 申请github学生包 申请网址 xff1a https education github com 2 copilot学生申请 申请网址 xff1a https copilot github com 3 IDE下载插件配置 下
  • 在VMware Workstation以及云服务器上安装华为FusionCompute

    文章目录 前言使用镜像安装CNAVMware Workstation配置虚拟机步骤一步骤二步骤三步骤四步骤五步骤六步骤七步骤八步骤九步骤十步骤十一步骤十二步骤十二 云服务器远程登录CNA安装步骤一 xff1a 开始安装步骤二 xff1a 配
  • 华为FusionCompute:虚拟机创建与配置

    文章目录 前言创建裸虚拟机删除虚拟机导入虚拟机虚拟机规格调整CPU热添加内存热添加磁盘扩容添加网卡查看 虚拟机配置对象权限 前言 如何在CNA中创建虚拟机 xff0c 创建虚拟机的方法有多种 创建的好的虚拟机我们可以进行虚拟机规格的调整 x
  • Postman接口之token获取及数据关联和断言

    1 环境变量的创建及使用 2 变量名设置 xff0c 点击上一步的环境变量 xff0c 弹出下面的页面 xff1a 3 设置完后记得选择对应的环境变量 4 查看接口运行后参数是否存入到环境变量中 xff1a 好了基础设置如上 xff0c 下
  • OSPF(六)OSPF特殊区域之Stub和Totally Stub区域详解及配置

    文章目录 前言Stub区域和Totally Stub区域传输区域和末端网络Stub Area配置命令 Totally Stub Area配置 整体实验配置过程及命令步骤一 xff1a 搭建拓扑步骤二 xff1a 配置路由器接口IP地址步骤三
  • OSPF(二)DR与BDR选举

    文章目录 MA网络中的问题DR amp DBRDR与BDR的选举 MA网络中的问题 在运行OSPF的MA网络包括广播型网络和NBMA网络 xff0c 都会存在两个问题 在一个有n个路由器的网络 xff0c 会形成 n n 1 2个邻接关系
  • 防火墙详解(三)华为防火墙基础安全策略配置(命令行配置)

    实验要求 根据实验要求配置防火墙 xff1a 合理部署防火墙安全策略以及安全区域实现内网用户可以访问外网用户 xff0c 反之不能访问内网用户和外网用户均可以访问公司服务器 实验配置 步骤一 xff1a 配置各个终端 防火墙端口IP地址 终
  • 常见信息安全威胁与经典案例

    文章目录 信息安全威胁现状网络战争的开端 xff1a 震网 病毒信息安全攻击事件的演变安全威胁分类 网络安全威胁案例美国Dyn DNS服务遭受DDoS攻击Mirai病毒发动攻击过程 xff08 DDos攻击过程 xff09 扫描获取控制权限
  • 华为FusionCompute详解(一)FusionSphere虚拟化套件介绍

    文章目录 虚拟化FusionSphere虚拟化套件特点管理简单性能至优 FusionSphere虚拟化套件组成FusionSphere服务器虚拟化架构FusionSphere架构特点与用途FusionSphere应用场景单虚拟化场景多虚拟化
  • 华为FusionCompute详解(二)FusionCompute总体介绍以及规划部署

    文章目录 FusionCompute产品定位FusionCompute产品架构FusionCompute软件逻辑组成 FusionCompute产品功能虚拟化计算虚拟化存储虚拟化网络 FusionCompute带来的价值FusionComp
  • Docker基础篇(1)

    文章目录 Docker简介是什么概念容器VS虚拟机能干什么技术职级变化一次构建 xff08 镜像 xff09 xff0c 到处运行 xff1a 去哪下 Docker简介 是什么 为什么会有Docker出现 xff1a 解决重复的环境部署开销
  • openStack:学习openStack的前提知识(1)虚拟化以及KVM简介

    文章目录 KVM简介KVM核心组件Libvirt组件 KVM简介 KVM 目前X86平台上最热门 xff0c 运用最多的虚拟化解决方案 xff0c openStack对KVM支持也是最好的 所以后续使用KVM作为Hypervisor xff
  • 解决WSL2/ubuntu安装软件报错 E: Invalid operation insatll 问题

    文章目录 解决WSL2安装软件报错E Invalid operation insatll 问题方法一方法二 解决WSL2安装软件报错E Invalid operation insatll 问题 此问题为系统定位不到软件包 xff0c 无法安
  • github-copilot的使用步骤

    1 首先登录你的github账号 xff0c 点击头像 xff0c 点击设置 2 在设置界面点击Copilot 并点击try Colilot 3 点击绿色按钮继续 4 设置为允许 xff0c 并取消允许使用你的代码来改进这一选项 xff0c
  • Arduino IDE配置esp8266开发环境

    目录 前言arduino IDE安装配置ESP8266开发环境通过开发板管理器安装手动安装开发版管理器备用的网址 参考 前言 之前本科那会疫情在家用esp8266 ESP 01s Relay模块做了一个远程浇花的设备 xff0c 当时使用a
  • 三、Ubuntu 18.04系统调试(命令/换源)

    目录 一 常用命令 二 Ubuntu 18 04换源 2 1便捷方法 2 2命令行方法 xff08 较为复杂 xff0c 但可查看防止后期有些错误是因为源导致的源文件 xff09 一 常用命令 目录操作 pwd 查看当前目录 cd 返回上一
  • 使用VScode远程操作虚拟机(ubuntu)

    1 VSCode安装 2 打开Ubuntu 使用ifconfig 获取系统接口 3 打开remote ssh 4 配置好相关属性 5 开启远程连接输入密码即可连接
  • 学习率(Learing Rate)的作用以及如何调整

    1 什么是学习率 学习率 Learning rate 作为监督学习以及深度学习中重要的超参 xff0c 其决定着目标函数能否收敛到局部最小值以及何时收敛到最小值 合适的学习率能够使目标函数在合适的时间内收敛到局部最小值 这里以梯度下降为例

随机推荐

  • Pytorch 中net.train() 和 net.eval()的作用和如何使用?

    一般在训练模型的代码段加入 xff1a model train 在测试模型时候加入 xff1a model eval 同时发现 xff0c 如果不写这两个程序也可以运行 xff0c 这是因为这两个方法是针对在网络训练和测试时采用不同方式的情
  • Qt 子窗口内嵌到父窗口中

    有时需要把一个子窗口内嵌进入父窗口当中 我们可以这样做 1 新建一个QWidget 或者QDialog的子类 ClassA xff08 父类为ClassB xff09 2 在新建类的构造函数中添加设置窗口属性 setWindowFlags
  • 用Cmake 编译OpenCV常见的错误

    minGW32 make遇到的错误1 xff1a 37 Linking CXX shared library bin libopencv core341 dll CMakeFiles opencv core dir objects a me
  • 卷积 反卷积 上采样 下采样 区别

    1 卷积 就是利用卷积核 步长前进 卷积整个图片 2 反卷积 反卷积的具体操作 原图输入尺寸为 1 xff0c 3 xff0c 3 xff0c 3 对应 batch size channels width height 反卷积tconv 6
  • Go语言操作数据库MySQL

    连接 Go语言中的database sql包提供了保证SQL或类SQL数据库的泛用接口 xff0c 并不提供具体的数据库驱动 使用database sql包时必须注入 xff08 至少 xff09 一个数据库驱动 我们常用的数据库基本上都有
  • 解决Git请求错误问题

    git clone gits github com Cloning into 39 FdogSerialize 39 git 39 remote gits 39 is not a git command See 39 git help 39
  • Reactor 模式

    Reactor 翻译过来的意思是 反应堆 xff0c 可能大家会联想到物理学里的核反应堆 xff0c 实际上并不是的这个意思 这里的反应指的是 对事件反应 xff0c 也就是来了一个事件 xff0c Reactor 就有相对应的反应 响应
  • MATLAB画图调整分辨率

    问题 xff1a 经常需要用MATLAB画图 xff0c 但是保存之后分辨率不高 xff0c 特别是需要放大的情况下 解决 xff1a 对于下面这种画出的图形 选择 文件 61 gt 导出设置 61 gt 渲染 61 gt 分辨率 选择60
  • C语言中常见的逻辑错误

    常见错误一 xff1a 61 和 61 61 混在一起 int main int ret if ret 61 1 return 0 结果 xff1a 变量被错误赋值 xff0c 逻辑判断错误 错误二 xff1a 定义较大的全局变量造成 编译
  • Qt中常见的位置和尺寸

    QPoint类的介绍 QPoint 类封装了我们常用用到的坐标点 x y 常用的 API 如下 构造函数 构造一个坐标原点 即 0 0 QPoint QPoint 参数为 x轴坐标 y轴坐标 QPoint QPoint int xpos i
  • 关于QT线程运用的三种方式

    QThread 类函数 QThread 类常用 API 构造函数 QThread QThread QObject parent 61 Q NULLPTR 判断线程中的任务是不是处理完毕了 bool QThread isFinished co
  • 安装Ubuntu22.04+nvidia驱动+CUDA-11.7+GRPMACS patch PLUMED

    首先是Ubuntu22 4的安装 Ubuntu系统一般直接可以使用RUFUS软件制作U盘启动项 xff0c 再依照顺序安装Ubuntu系统 xff0c 这里不赘述 CUDA 11 7 span class token function su
  • Linux部署Nexus私服

    这篇文章主要介绍了Linux搭建自己Nexus私服的实现方法 xff0c 文中通过示例代码介绍的非常详细 xff0c 对大家的学习或者工作具有一定的参考学习价值 一 Nexus介绍 对maven来说仓库分为两类 xff1a 本地仓库和远程仓
  • 元学习和机器学习的对比

    目录 引言机器学习元学习什么是元学习元学习的流程学习学习函数评价学习函数好坏迭代优化 整体框架 元学习和机器学习的对比定义的区别数据集划分的区别损失函数的区别两者之间的共通之处 总结 引言 本篇博客是李宏毅老师元学习课程的笔记 深度学习大部
  • 如何使用C++实现10个数的冒泡排序

    96 96 冒泡排序是一种计算机科学领域的较简单的排序算法 xff0c 是一种简单的适合初学者学习的算法 上图为冒泡排序简单的图片理解 xff0c 将第一个数依次与后面的数进行比较 将数值大的数沉到底部或将数值小的数浮到顶部 简称 大数沉淀
  • 通过Cerebro访问Elasticsearch

    本文以阿里云Elasticsearch为例 xff0c 介绍通过Cerebro访问Elasticsearch的方法 阿里云Elasticsearch兼容开源Elasticsearch的功能 xff0c 以及Security Machine
  • 手把手教您完成Elasticsearch数据迁移

    您可以通过Logstash reindex和OSS等多种方式在Elasticsearch之间迁移数据 本文以阿里云Elasticsearch xff08 简称ES xff09 为例 xff0c 介绍阿里云Elasticsearch间数据迁移
  • Solr集群数据迁移至Elasticsearch

    Elasticsearch是一款非常强大的搜索引擎 xff0c 可以让你在海量的数据中快速找到想要的内容 例如 xff0c 代码搜索 xff1a 可以帮助您找到相应的代码仓库 xff0c 还可以实现代码级的搜索及高亮显示 xff1b 网上s
  • k8s创建Deployment报错:no matches for kind “Deployment“ in version “extensions/v1beta1“

    报错类型 xff1a root 64 master kubectl create f lzb test yaml error unable to recognize 34 lzb test yaml 34 no matches for ki
  • 3分钟学会使用Elasticsearch跨集群复制功能(CCR)

    当您需要将本地Elasticsearch集群中的索引数据迁移到一个远程集群中 xff0c 或者将一个远程集群中的索引数据迁移到本地集群 xff0c 可通过跨集群复制CCR xff08 Cross Cluster Replication xf