当您需要将本地Elasticsearch集群中的索引数据迁移到一个远程集群中,或者将一个远程集群中的索引数据迁移到本地集群,可通过跨集群复制CCR(Cross Cluster Replication)功能实现。本文介绍具体的实现方法。
背景信息
CCR是开源Elasticsearch在platinum版本中发布的一个商业特性。购买阿里云Elasticsearch实例后,您无需额外付费,只需要简单配置,即可使用CCR功能。CCR的应用场景如下:
- 灾难恢复及高可用性
对于分布在不同地域的Elasticsearch集群,您可以通过CCR进行数据备份。当其中一个集群发生故障时,您可以通过访问其他集群来获取故障集群的数据,保证数据不丢失。
- 就近访问数据
例如A集团下有多个子公司,各子公司所分布的地域不同。为了提高业务处理速度,可按照地理位置划分子公司要承担的业务,并通过CCR将业务数据分发给各地域中的Elasticsearch集群。子公司在处理业务时,可直接访问当前所在地域的集群。
- 集中报告
通过CCR,将多个数据量较小的集群中的数据复制到一个中央集群中,进行可视化分析与报告。
使用CCR功能,需要准备两种类型的集群。一个是远程集群,即提供源数据(Leader index)的集群;一个是本地集群,即订阅数据(Follower index)的集群。该功能为被动复制,即所有复制任务都是由本地集群执行。同时支持批量实时迁移数据,更多详情请参见Cross-cluster replication。
使用限制
- 新网络架构下的实例不支持与旧网络架构下的实例进行跨集群reindex、跨集群搜索、跨集群复制等实例互通操作。如果需要进行互通,请确保实例创建在同一网络架构下。
说明
- 2020年10月,阿里云Elasticsearch对网络架构进行了调整。2020年10月之前为旧网络架构,2020年10月及之后为新网络架构。
- 对于华北3(张家口)和海外地域,由于网络架构调整时间不确定,因此需要提交工单,联系阿里云Elasticsearch技术支持,校验网络是否可以互通。
- 在旧网络架构下,仅6.7.0及以上版本的单可用区的阿里云Elasticsearch实例支持跨集群复制功能。新网络架构下,只有版本限制,没有可用区限制。
操作流程
准备工作
步骤一:配置实例网络互通
参见配置实例网络互通,在远程集群中添加需要进行网络互通的本地集群。最终配置如下。

步骤二:添加远程集群
步骤三:配置跨集群复制
步骤四:验证数据迁移结果
常见问题
Q:为什么在添加远程集群时,可以使用9300端口。但是通过域名访问Elasticsearch集群时,只能使用9200端口?
A:9300端口实际上是开放的。因为涉及到产品的安全策略,在SLB端口校验过程中,外网访问Elasticsearch域名的时候,只开放了9200端口。