更新时间:2023-06-20 GMT+08:00

迁移方案概述

CSS服务的迁移方案适用于云ES之间的数据迁移、自建ES到云ES之间的数据迁移和第三方友商ES到云ES之间的数据迁移。可以根据实际迁移场景,选择合适的集群迁移方案。

迁移场景

不同数据来源的集群,迁移方案会有差别,本章主要介以下场景的迁移方案。

  • 源端为Elasticsearch的集群迁移

    Elasticsearch集群的数据迁移有多种方式可以选择,例如使用Logstash、CDM、OBS备份与恢复、ESM、跨集群复制插件等进行数据迁移。

    • Logstash:Elasticsearch官方提供的数据清洗工具,ELK生态中的一部分,功能强大,可以完成不同数据源和ES数据的迁移,还可以进行数据的清洗和加工。具体操作可以参考使用Logstash迁移集群数据
    • CDM:云服务提供的云迁移工具,实现不同云服务间的集群迁移能力。具体操作可以参考。
    • 备份与恢复:ES提供备份恢复能力,可以把一个集群的数据备份到OBS,在另一个集群恢复数据,完成集群间的数据迁移。具体操作可以参考使用备份与恢复迁移集群数据
  • 源端为Kafka/MQ的集群迁移
  • 源端为数据库的集群迁移

迁移方案

CSS服务支持的迁移方案主要包含备份与恢复、Reindex API、Logstash+ESM和基于数据源同步的迁移方案,各方案的详细信息参见表1

其中,基于数据源同步的迁移方案没有明显的限制,且迁移性能方面优于其他3个方案。另外基于数据源同步的迁移方案,在数据同步后随时可割接,更加方便灵活。

表1 迁移方案说明

迁移方案

方案描述

方案限制

迁移性能

备份与恢复

需要有支持s3协议的共享存储,例如OBS桶。先在源端ES集群进行数据备份,再将快照同步到目标集群,最后在目标集群中恢复数据。

  • 目的端ES版本≥源端ES版本
  • 目的端ES的候选主节点数>源端ES的候选主节点数的一半
  • 不支持增量数据同步,需停止更新再进行备份与恢复。

数据迁移速率可配置,理想状态下等于文件拷贝速率。

Reindex API

先配置源端ES与目的端ES互信,然后通过Reindex API进行数据迁移。

  • 索引需开启“_source”
  • 不支持增量数据实时同步,需停止更新再执行API。

支持批量读写,但不支持slicing并发同步。

Logstash+ESM

先申请ECS部署并配置Logstash,然后启动数据迁移。

  • 索引需开启“_source”
  • 不支持增量数据实时同步,需停止更新再启动Logstash。

支持批量读写,支持slicing并发同步。

基于数据源同步的迁移方案

存量数据采用Logstash迁移,增量数据通过流量复制或数据链路自动同步。

存量迁移速率同Logstash,增量迁移复用之前工具。