Elasticsearch 跨集群复制(CCR)之腾讯云 ES 跨地域容灾

2020-10-28 14:40:10 浏览数 (1)

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

一、对等连接 (https://cloud.tencent.com/document/product/553/18836?from=10680)

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

新建对等链接

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

对等连接建立成功

vpc 之间建立好对等连接后需要配置下路由表。

配置路由表:

一定要在本端和对端都配置相关路由,才能通过对等连接通信,且需要绑定对应云服务器的子网。

其中路由策略配置如下:

路由表通过路由策略来实现流量走向控制,路由策略由目的端、下一跳类型和下一跳组成:

  • 目的端:目的端即为您要转发到的目标网段。目的网段描述仅支持网段格式,如果您希望目的端为单个 IP,可设置掩码为32(如172.16.1.1/32)。另外,目的端不能为路由表所在私有网络内的 IP 段,原因是 Local 路由已表示此私有网络内默认内网互通。
  • 下一跳类型:私有网络的数据包的出口。私有网络下一跳类型支持 “NAT 网关”、“对等连接”、“VPN网关”、“专线网关”、“云服务器”等类型。
  • 下一跳:指定具体跳转到的下一跳实例(使用下一跳 ID 标识),如私有网络内的某个具体 NAT 网关。

在本地端(北京)新增目的端的路由策略(https://cloud.tencent.com/document/product/215/39406?from=10680)。

配置路由表

在目的端(上海)同样执行上面的操作。

对等连接建立好,且路由表配置完成后,我们进入到北京的云服务器中尝试连接上海的云服务器:

从北京的 cvm上 ping 上海的 cvm:

测试网络连通性

可见对等连接是建立成功了。

二、搭建CCR

下面我们就分别在北京和上海使用对应的 vpc 购买两个 ES 集群(https://cloud.tencent.com/login?s_url=https://buy.cloud.tencent.com/es#/?region=ap-beijing)。

上海集群 es-a785wmve:

上海测试集群

北京集群 es-ki42hwk9:

北京测试集群

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

1、设置 Remote Cluster

登录到上海的 kibana 进行 CCR 的相关配置:

将北京的 ES 集群设置为 Remote Cluster:

创建远程集群信息

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

远端集群设置成功

2、创建 Follower Index:

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

北京集群创建 Leader 索引

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

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

主要是配置刚刚设置的 Remote Cluster 的 name,以及 Leader Index 和本地集群需要Follower 的 index。

配置完成后得到如下的列表:

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

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

3、数据同步

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

Leader Index 写入数据

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

Leader Index 写入数据

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

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

Follower Index 自动同步数据

发现上海的 Follower 集群中的 Follower 索引 wurong_sh_index 也包含了4条 doc 数据。说明我们已经完成了跨地域跨集群的复制了。

至此,我们完成了跨地域复制的数据同步。

备注说明:由于是跨地域打通了网络,如果出现下面的 Not connected 状态,可能会出现网络不稳定的情况,会导致数据的复制有一定的延迟。

点击文末「阅读原文」,了解腾讯云Elasticsearch Service更多信息~

腾讯云大数据

长按二维码 关注我们

0 人点赞