迁移方案选取指南

您可以通过Logstash、reindex和OSS等多种方式完成阿里云Elasticsearch间数据迁移、Elasticsearch数据迁移至Openstore存储中、自建Elasticsearch数据迁移至阿里云和第三方Elasticsearch迁移至阿里云。本文介绍各迁移场景对应的迁移方案、适用场景和使用限制,帮助您根据业务选择合适的方案进行迁移。

重要
  • 2020年10月,阿里云Elasticsearch对网络架构进行了调整。2020年10月之前为旧网络架构,2020年10月及之后为新网络架构。新网络架构下的实例不支持与旧网络架构下的实例进行跨集群reindex、跨集群搜索、跨集群复制等实例互通操作。如果需要进行互通,需要确保实例创建在同一网络架构下。对于华北3(张家口)和海外地域,由于网络架构调整时间不确定,因此需要提交工单,联系阿里云Elasticsearch技术支持,校验网络是否可以互通。

  • 建议不要迁移以.开头的系统索引,例如.monitoring、.kibana、.security等,否则可能导致Kibana出现故障。

迁移场景:阿里云Elasticsearch实例间数据迁移

迁移方案

适用场景

使用限制

场景示例

OSS快照

  • 源端数据量较大(GB、TB、PB级别)的场景。

  • 同账号或跨账号下,同地域或跨地域快照数据迁移的场景。

    说明

    对于跨地域的数据迁移场景,可以通过Elasticsearch的快照备份与恢复命令结合OSS的跨区域复制概述功能实现。

  • 通过OSS快照方式迁移增量数据,可能需要停止服务。且在新集群恢复增量数据时,需要关闭索引。

  • 使用阿里云Elasticsearch的跨集群OSS仓库设置功能,对源端和目标端实例有以下限制:

    • 相同地域。

    • 归属于相同账号,即源和目标实例在同一阿里云账号(主账号)或RAM用户(子账号)下。

    • 源端实例的版本低于或等于目标端实例的版本。版本兼容性的详细信息请参见兼容性说明

  • 使用API跨账号迁移快照数据时,需要确保源端和目标端使用相同的AccessKey,即添加仓库时都需要使用Bucket所属账号的AccessKey。

Logstash

  • 迁移全量或同步增量数据,对实时性要求不高的场景。

    重要

    对于跨账号、跨地域的数据迁移场景,由于Elasticsearch和Logstash不在同一专有网络下,需要配置Logstash的NAT公网数据传输,具体实现方案可参见腾讯云Elasticsearch数据迁移至阿里云

  • 仅对查询结果进行迁移的场景。

  • 需对待迁移数据进行过滤的场景。

  • 版本跨度较大的数据迁移场景,例如5.x迁移到6.x或7.x。版本兼容性说明请参见产品兼容性

  • 源Elasticsearch、Logstash和目标Elasticsearch实例在同一专有网络。如果不在同一专有网络,需要通过配置NAT网关实现与公网的连通,详细信息请参见配置NAT公网数据传输

  • 源Elasticsearch、Logstash和目标Elasticsearch实例版本需满足兼容性要求,详细信息请参见产品兼容性

  • 如果需要同步增量数据,需确保源端数据的ID和目标端ID一致,并且需配置schedule定时任务。

reindex

  • 源端数据量较小,且对迁移速度要求不高的场景。

  • 仅对查询结果(使用查询语句在Kibana中查询出来的结果)进行迁移的场景。

两个Elasticsearch集群在同一网络架构下,详细信息请参见注意事项

通过reindex迁移数据

elasticsearch-dump工具

数据量较小,索引数量不多的迁移场景。

源Elasticsearch集群、目标Elasticsearch集群、安装elasticsearch-dump工具的服务器的网络要互通。

通过elasticsearch-dump工具迁移数据

OSS快照结合reindex

  • 全量和增量数据写入场景。

  • 跨大版本间ES文件格式可能不兼容,不支持直接快照的场景。

    例如,6.x迁移到8.x,可先快照到7.x版本,在7.x版本上reindex索引,最后通过7.x快照恢复到8.x。

中间版本与原版本和目标版本都满足版本兼容性要求。详细信息,请参见elastic版本间的改变及兼容性文档。

迁移场景:将Elasticsearch数据迁移至Openstore存储中

迁移方案

适用场景

使用限制

场景示例

OSS快照

将自建或阿里云商业版Elasticsearch集群中的数据迁移到Openstore自定义冷热分离存储中的场景。

  • 云对象存储OSS必须是标准存储类型的Bucket(不支持归档存储类型)。

  • 云对象存储OSS中Bucket的地域与Elasticsearch实例的地域保持一致。

将Elasticsearch数据迁移至OpenStore冷热分离存储

手动备份

将自建或阿里云商业版Elasticsearch集群中的数据迁移到OpenStore智能混合存储中的场景。

云对象存储OSS中Bucket的地域与Elasticsearch实例的地域保持一致。

将Elasticsearch数据迁移至OpenStore智能混合存储

迁移场景:自建Elasticsearch迁移至阿里云

迁移方案

适用场景

使用限制

场景示例

OSS快照

  • 源端数据量较大(GB、TB、PB级别)的场景。

  • 同账号或跨账号下,同地域或跨地域快照数据迁移的场景。

  • 需要获取与源Elasticsearch版本一致的elasticsearch-repository-oss插件。

  • 通过OSS快照方式迁移增量数据,可能需要停止服务。且在新集群恢复增量数据时,需要关闭索引。

通过OSS将自建Elasticsearch数据迁移至阿里云

Logstash

  • 迁移数据时,对实时性要求不高的场景。

  • 仅对查询结果进行迁移的场景。

  • 需对待迁移数据进行过滤的场景。

  • 版本跨度较大的数据迁移场景,例如5.x迁移到6.x或7.x。版本兼容性说明请参见产品兼容性

  • 源Elasticsearch、Logstash和目标Elasticsearch实例在同一专有网络。如果不在同一专有网络,需要通过配置NAT网关实现与公网的连通,详细信息请参见配置NAT公网数据传输

  • 源Elasticsearch、Logstash和目标Elasticsearch实例版本需满足兼容性要求,详细信息请参见产品兼容性

  • 如果需要同步增量数据,需确保源端数据的ID和目标端ID一致,并且需配置schedule定时任务。

reindex

  • 源数据量较小,且对迁移速度要求不高的场景。

  • 仅对查询结果(使用查询语句在Kibana中查询出来的结果)进行迁移的场景。

  • 低版本自建ES迁移到阿里云高版本ES,如6.x迁移到8.x, 通过privatelink打通网络做远程reindex迁移。

两个Elasticsearch集群在同一网络架构下,详细信息请参见注意事项

通过reindex将自建Elasticsearch数据迁移至阿里云

elasticsearch-dump工具

数据量较小,索引数量不多的迁移场景。

源Elasticsearch集群、目标Elasticsearch集群、安装elasticsearch-dump工具的服务器的网络要互通。

通过elasticsearch-dump工具迁移数据

迁移场景:第三方Elasticsearch迁移至阿里云

迁移方案

适用场景

使用限制

场景示例

Logstash

  • 迁移全量数据的场景。

  • 迁移满足某些查询需求的场景。

  • 跨账号、跨地域的阿里云Elasticsearch间数据迁移的场景。

  • Logstash需要配置NAT网关实现与公网连通,详细信息请参见配置NAT公网数据传输

  • 源Elasticsearch、Logstash和目标Elasticsearch实例版本需满足兼容性要求,详细信息请参见产品兼容性

腾讯云Elasticsearch数据迁移至阿里云

OSS快照

源端数据量较大(GB、TB、PB级别)的场景。

通过OSS快照方式迁移增量数据,可能需要停止服务。且在新集群恢复增量数据时,需要关闭索引。

将Amazon OpenSearch Service中的Elasticsearch索引迁移至阿里云

说明

该方案不局限云服务厂商,均依赖ES快照机制实现。例如,使用阿里云在线迁移(迁移实施)将存储在腾讯云COS的ES快照数据迁移到阿里云OSS,参考阿里云ES快照恢复OSS仓库快照数据。具体操作,请参见手动备份与恢复

ES快照迁移仅支持低版本向高版本或同版本迁移恢复,详见快照兼容性

elasticsearch-dump工具

数据量较小,索引数量不多的迁移场景。

源Elasticsearch集群、目标Elasticsearch集群、安装elasticsearch-dump工具的服务器的网络要互通。

通过elasticsearch-dump工具迁移数据