zl程序教程

您现在的位置是:首页 >  IT要闻

当前栏目

最佳实践 | 基于腾讯云ES如何跨地域容灾?跨集群复制为您解忧!

2023-04-18 16:49:04 时间

300ed859afdcd27439d1af784a15ffba.gif

作者:吴容,腾讯云大数据Elasticsearch高级开发工程师

腾讯云大数据ES目前已经提供了多可用区部署,即支持同地域跨机房的高可用容灾方案,满足了绝大多数客户的需求。但是依然会有部分客户希望进一步提升容灾级别,能够做到跨地域容灾。随着腾讯云ES双网卡功能的发布,使得跨地域容灾成为可能。接下来我将介绍下腾讯云ES实现跨地域容灾的详细步骤。

注:由于腾讯云ES集群之间的证书是不一致的,因此在搭建CCR环境之前,请先提工单让后端先将两个集群证书设置为一致。

一、对等连接

首先将北京和上海的两个vpc建立对等连接,如下图所示:

236563e4d38818d4307a49f63f1ac5c6.png

新建对等连接

注意:如果两个vpc的网段有冲突则不能建立对等连接。

fc9a2319e9f2e3a10048a47e1b1cfb00.png

对等连接建立成功

vpc之间建立好对等连接后需要配置下路由表。配置路由表:一定要在本端和对端都配置相关路由,才能通过对等连接通信,且需要绑定对应云服务器的子网。其中路由策略配置如下:路由表通过路由策略来实现流量走向控制,路由策略由目的端、下一跳类型和下一跳组成:

  • 目的端:目的端即为您要转发到的目标网段。目的网段描述仅支持网段格式,如果您希望目的端为单个 IP,可设置掩码为32(如172.16.1.1/32)。另外,目的端不能为路由表所在私有网络内的 IP 段,原因是 Local 路由已表示此私有网络内默认内网互通。

  • 下一跳类型:私有网络的数据包的出口。私有网络下一跳类型支持 “NAT 网关”、“对等连接”、“VPN网关”、“专线网关”、“云服务器”等类型。

  • 下一跳:指定具体跳转到的下一跳实例(使用下一跳 ID 标识),如私有网络内的某个具体 NAT 网关。在本地端(北京)新增目的端的路由策略。

3baa00e4aa9310613eeb81ea85a3ed53.png

配置路由表

在目的端(上海)同样执行上面的操作。对等连接建立好,且路由表配置完成后,我们进入到北京的云服务器中尝试连接上海的云服务器:从北京的cvm上ping 上海的cvm:

cff9b384af97e801d9c7ecdcc7361c02.png

测试网络连通性

二、搭建CCR

下面我们就分别在北京和上海使用对应的vpc购买两个ES集群。上海集群 es-a785wmve:

90491b3f029646e1524e847b4b09ee4c.png

上海测试集群

北京集群 es-ki42hwk9:

98559e2132276efdf0add711aa5831b3.png

北京测试集群

我们将北京的es集群作为Leader Cluster,把上海的es集群作为Follower Cluster

1、设置Remote Cluster

登录到上海的kibana进行CCR的相关配置:将北京的ES集群设置为Remote Cluster:

4538e65f1e4acd3be95220cbd4248c41.png

创建远程集群信息

Connected表示已经连接上远端的es集群了:

a95f042078a2787931c28df12514b05a.png

远端集群设置成功

2、创建Follower Index

首先需要先在Leader Cluster即北京es集群中创建一个索引:

9cb03ddbbc8ae0801f23f7121d7ffae4.png

北京集群创建Leader索引

然后在上海的集群中继续创建Follower Index:

727892b4575d31b4979496b76766fad1.png

在Follower上海集群的kibana中进行如下配置:

df258b463dcedb68cd24b467a33d00b8.png

主要是配置刚刚设置的Remote Cluster的name,以及Leader Index和本地集群需要Follower的index。配置完成后得到如下的列表:

6eeb7243a56edf39ffe031255344aa77.png

然后查看索引管理,发现已经在上海的集群中创建了一个follower index:

f67634c278386f6c729b5911ca15d312.png

但是这时候索引里还没有任何数据,doc数量是0。下面我们就在北京的Leader集群中写入几条数据,再来看看上海的Follower集群是否能够同步到。

3、数据同步

首先我们在北京集群的kibana中写入如下几条数据:

5cfb7844b6933b524c0060db8bd31c8b.png

Leader Index写入数据

查看Leader北京的集群的index manager:

5c4a705e0124e872cc44c56d36ec5f0c.png

发现四条数据都写入了。目前的doc数量是4。

7993405d6a75cbdc538a6e9e75fc70cf.png

下面我们再去Follower上海集群的kibana上查看Index Manager。

f97c6535c50839113f9324de38687702.png

Follower Index自动同步数据

发现上海的Follower集群中的Follower索引wurong_sh_index也包含了4条doc数据。说明我们已经完成了跨地域跨集群的复制了。至此,我们完成了跨地域复制的数据同步。备注说明:由于是跨地域打通了网络,如果出现下面的Not connected状态,可能会出现网络不稳定的情况,会导致数据的复制有一定的延迟。

免费体验活动专区

Elasticsearch 新用户可享 2核4G,0元 体验 30 天!顺畅体验云上集群

1ab33a5acd40c5e52b7d7f44586d27ac.png

添加小助手回复 Elasticsearch 加入 Elasticsearch 技术社区👇

eab231b79e63f68d0ce8453257daf2ff.jpeg

推荐阅读

7a96aa8c14307dbac1b7e960ebdedd16.jpeg

5b2125dc504489e81924a0c54cf5668e.jpeg

82081c4014aeb1c4961ea28529a158fb.jpeg

关注腾讯云大数据公众号

邀您探索数据的无限可能

be06ce2e25b8c46e0196d69c2881d020.png

点击“阅读原文”,了解相关产品最新动态

↓↓↓