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

基本架构

83357d303ce220623911460565abd9a1.png

图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)

13cdffd776c2c258707e88c45be012f3.png

图2.实战架构图

2、配置

1)配置远端集群数据源

在集群A上执行:

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

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

在集群A上执行:

GET _nodes

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

e0c7f36dde672e8f6c82a9006d50dca6.png

图3.任意一个节点的transport_ip

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

3bada6a79d207791c29193d43f754777.png

图4.添加远端集群

6ad39400bbdbec839e78ddea1e367ccc.png

图5.添加远端集群

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

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

4)在Kibana部署CCR

1864be829e4e4aac767e4a82ed5f94bd.png

图6.在Kibana部署CCR

bfb601d64d39b1c4cb829880c483db2a.png

图7.在Kibana部署CCR

81ccd76b592270ca9c2f4936581cca08.png

图8.在Kibana部署CCR

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

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

3、测试

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

1)在远端集群PUT文档

8c02ee8c832c923bb331a793d442fe35.png

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

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

e5d88d5458b6051c99b911680fbdccc9.png

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

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

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

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

112a726236e15808aaf38302058912fa.png

图11.修改follower index

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

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

e5269a01b8b8c614a4b6616485bcb3e3.png

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

  总结

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/24315.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微服务和领域驱动

一、微服务 1.1 什么是微服务 微服务就是一些协同工作的小而自治的服务。 关键词: 小而自治 -- 小 “小”这个概念,一方面体现在微服务的内聚性上。 内聚性也可以称之为单一职责原则:“把因相同原因而变化的东西聚合到一起,…

企业电子招投标采购系统源码之登录页面-java spring cloud

​ 信息数智化招采系统 服务框架:Spring Cloud、Spring Boot2、Mybatis、OAuth2、Security 前端架构:VUE、Uniapp、Layui、Bootstrap、H5、CSS3 涉及技术:Eureka、Config、Zuul、OAuth2、Security、OSS、Turbine、Zipkin、Feign、Monitor、…

202312读书笔记|《赶时间的人》——灰暗的从前会成为照亮未来的光,艰难的生活里,诗歌是那陡峭的另一面

202312读书笔记|《赶时间的人》——灰暗的从前会成为照亮未来的光,艰难的生活里,诗歌是那陡峭的另一面 《赶时间的人》 作者王计兵,一个外卖员的诗,饱含对生活的热情,向上的力量,仿若身在炼狱,心…

【计算机网络】3、IO 多路复用:select、poll、epoll、reactor | 阻塞非阻塞、同步异步

文章目录 一、select()1.1 用法1.1 实战 二、poll()2.1 用法2.2 实战 三、阻塞、非阻塞3.1 非阻塞 IO3.1.1 read()3.1.2 write()3.1.3 accept()3.1.4 connect()3.1.5 非阻塞IO select() 多路复用实战 四、epoll()4.1 epoll_create()4.2 epoll_ctl()4.3 epoll_wait()4.4 实战4.…

Dubbo源码篇07---SPI神秘的面纱---原理篇---下

Dubbo源码篇07---SPI神秘的面纱---原理篇---下 引言根据name获取扩展实例对象获取默认扩展实例对象按条件批量获取扩展实例对象实例演示 小结 引言 上篇文章: Dubbo源码篇06—SPI神秘的面纱—原理篇—上 我们追踪了getAdaptiveExtension获取自适应扩展点的整个流程…

(常见)数据模型

文章目录 数据模型概述一、数据模型概要1.模型、建模与抽象2.数据模型3.两类数据模型 二、数据库模型的组成要素1.数据结构2.数据操作3.数据的完整性约束 三、概念模型1.概要2.基本概念3.概念模型的表示方法 常用数据模型一、层次模型1.简介2.数据结构3.数据操纵与完整性约束4.…

【ZYNQ】ZYNQ7000 UART 控制器及驱动应用示例

UART 简介 我们在使用 PS 的时候,通常会添加 UART 控制器,用于打印信息和调试代码。除此之外,PS 在和外 部设备通信时,也会经常使用串口进行通信。 UART 控制器 UART 控制器是一个全双工异步收发控制器,ZYNQ 内部包…

教你一步步使用实现TensorFlow 进行对象检测

在本文中,我们将学习如何使用 TensorFlow Hub 预训练模型执行对象检测。TensorFlow Hub 是一个库和平台,旨在共享、发现和重用预训练的机器学习模型。TensorFlow Hub 的主要目标是简化重用现有模型的过程,从而促进协作、减少冗余工作并加速机器学习的研发。用户可以搜索社区…

Linux内核源码分析-进程调度(五)-组调度

出现的背景 总结来说是希望不同分组的任务在高负载下能分配可控比例的CPU资源。为什么会有这个需求呢,假设多用户计算机系统每个用户的所有任务划分到一个分组中,A用户90个任务,而B用户只有10个任务(这100个任务假设都是优先级一…

Python 下载的 11 种姿势,一种比一种高级

今天我们一起学习如何使用不同的Python模块从web下载文件。此外,你将下载常规文件、web页面、Amazon S3和其他资源。 通过本文的学习,你将学到如何克服可能遇到的各种挑战,例如下载重定向的文件、下载大型文件、完成一个多线程下载以及其他策…

C# WPF窗体设计器显示以及App.xaml文件打不开(VS 2022)

问题描述: 在项目中遇到了App.xaml设计器打不开以及窗体设计器不显示,只有代码,如图所示: 可以明显的看见左下角的设计器不见,但是用户控件又有设计器 解决方法: (一、App.xaml不能正常打开) ①清理项…

定薪17K*15,阿里测开岗上岸面经分享....

先简单介绍一下我自己吧,等会大家以为我是什么学历狂人,技术大牛,我毕业于广东一个普通本科院校,绝对不是什么双一流大学,大家不要有距离感,这也是我为什么来分享的原因,因为我觉得我这段经验还…

硬件软件【部署】

开发板和主机 1.功能不同:帮助开发者进行嵌入式系统的开发和调试,具有较强的硬件拓展能力,可以连接各种传感器/执行器等外设。主机为满足一般的计算需求而设计,具备更强的计算和图形处理能力。 2.架构不同:开发板通常…

【接口测试】JMeter测试WebSocket接口

目录 一、WebSocket简介 二、JMeter测试WebSocket接口 三、WebSocket和Socket的区别 最近老被问到WebSocket,突然想到以前大学时上Java课的时候,老师教我们socket连接,一个同学电脑做客户端,一个同学电脑做服务端,…

LAMP平台搭建

文章目录 LAMP概述安装apache安装mysql安装php LAMP概述 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统、Apache网站…

Java --- 期末复习卷

一、单选题 1.所有Java应用程序主类必须有一个名叫( )的方法。[ ] A.method B.main() C.java() D.hello 2.编写并保存了一个Java程序文件之后,( )它。[ …

node笔记_http服务搭建(渲染html、json)

文章目录 ⭐前言⭐初始化项目调整npm 的script运行入口搭建hello world的http服务npm run dev执行主函数的http服务 ⭐http返回类型html模板文件返回安装express渲染html的字符串 渲染html文件 sendFile渲染json返回数据类型 res.json ⭐结束 ⭐前言 大家好,我是ym…

TensorFlow 1.x学习(系列二 :4):自实现线性回归

目录 线性回归基本介绍常用的op自实现线性回归预测tensorflow 变量作用域模型的保存和加载 线性回归基本介绍 线性回归: w 1 ∗ x 1 w 2 ∗ x 2 w 3 ∗ x 3 . . . w n ∗ x n b i a s w_1 * x_1 w_2 * x_2 w_3 * x_3 ... w_n * x_n bias w1​∗x1​w2​∗…

MySQL 对日期使用 DATE_FORMAT()函数

文章目录 DATE_FORMAT()函数显示今天是星期几只显示年月显示当前时间的分钟数和秒数 DATE_FORMAT()函数 前面使用日期时间函数,获取到的要么是 yyyy-mm-dd 形式的日期,要么是 hh:MM:ss 形式的时间,或者是 yyyy-mm-dd hh:mm:ss 形式的日期及时…

算法基础学习笔记——⑧堆\哈希表

✨博主:命运之光 ✨专栏:算法基础学习 目录 ✨堆 🍓堆模板: ✨哈希表 🍓一般哈希模板: 🍓字符串哈希模板: 前言:算法学习笔记记录日常分享,需要的看哈O(…