文档首页/ 云搜索服务 CSS/ 最佳实践/ ELasticsearch数据迁移/ 通过备份与恢复实现华为云Elasticsearch集群间数据迁移
更新时间:2024-08-13 GMT+08:00
分享

通过备份与恢复实现华为云Elasticsearch集群间数据迁移

CSS服务的Elasticsearch集群之间的数据迁移,可以通过备份与恢复集群快照功能实现。

应用场景

通过备份与恢复实现华为云Elasticsearch集群间数据迁移仅适用于源集群和目标集群都是CSS服务的集群,且依赖对象存储服务OBS。常用于以下场景:

  • 跨地域或跨账号迁移:将其他Region或账号下的Elasticsearch集群迁移到当前集群中。
  • 跨版本迁移:将低版本的Elasticsearch集群数据迁移到高版本的集群中。
  • 集群合并:将两个Elasticsearch集群的索引数据合并到一个集群中。

方案架构

图1 迁移流程

通过备份与恢复实现华为云Elasticsearch集群间数据迁移的迁移流程如图1所示。

  1. 源Elasticsearch集群创建快照,将快照存储在OBS桶中。
  2. 目标Elasticsearch集群恢复快照,从OBS桶中恢复快照。

方案优势

  • 易于操作和管理:在CSS服务控制台使用集群快照功能实现备份恢复,操作简单,且易于管理和自动化。
  • 适用于大规模数据迁移:快照备份适用于数据量大的场景,特别是当数据量达到GB、TB甚至PB级别时。
  • 支持跨地域和跨账号迁移:通过结合OBS的跨区域复制功能,可以实现跨地域和跨账号的数据迁移。
  • 恢复过程可控:在恢复数据时,可以选择恢复特定索引或全部索引,并且可以指定恢复到特定的集群状态。
  • 迁移时长可控:基于迁移时长评估公式可以配置数据迁移速率,理想状态下等于文件复制速率。

约束限制

  • 目标集群的版本不能低于源集群的版本,版本兼容性分析请参见Snapshot version compatibility
  • 目标集群的节点数要大于源集群的节点数的一半,且不能小于源集群的shard副本数。
  • 标集群的CPU、MEM和Disk配置不能低于源集群的配置。

迁移时长

迁移过程的耗时长短依赖于源集群和目标集群的节点个数或索引shard个数。迁移过程分为备份阶段和恢复阶段,备份阶段耗时由源集群决定,恢复阶段耗时由目标集群决定。迁移总时长的评估公式如下:

  • 当索引shard个数大于节点个数时

    总时长(S)=(800G÷40MB÷源集群节点个数+800G÷40MB÷目的集群节点个数)x索引个数

  • 当索引shard个数小于节点个数时

    总时长(S)=(800G÷40MB÷源集群索引shard个数+800G÷40MB÷目的集群索引shard个数)x索引个数

评估公式是基于理想状态下(即单节点以最快速度40MB/s传输)的迁移时长,实际迁移时长还会受到网络、资源等因素影响。

前提条件

  • 目标集群(Es-2)和源集群(Es-1)处于可用状态。建议在业务空闲期进行集群迁移。
  • 确认目标集群(Es-2)和源集群(Es-1)在同一个Region和账号下。

    如果集群跨地域或跨账号,请参考配置跨区域复制将源集群存储快照的OBS桶复制到目标集群存储快照的OBS桶中,迁移时在目标集群执行恢复操作。

操作步骤

  1. 登录云搜索服务管理控制台。
  2. “集群管理 > Elasticsearch”页面,单击源端集群名称“Es-1”进入集群基本信息页面。
  3. 在左侧导航栏选择“集群快照”,打开集群快照开关,设置快照的基础配置。
    表1 集群快照基础配置

    参数

    说明

    OBS桶

    选择存储集群快照的OBS桶。

    备份路径

    集群快照在OBS桶中的存放路径。可以保持默认值。

    IAM委托

    选择IAM委托,授权CSS服务访问或维护存储在OBS中数据。

    所选的IAM委托需满足如下条件:

    • “委托类型”选择“云服务”
    • “云服务”选择“Elasticsearch”或者“云搜索服务 CSS”
    • 必选策略:“OBS Administrator”
  4. 完成基础配置后,单击“创建快照”,在弹窗中完成参数配置,单击“确定”启动手动创建快照。
    表2 创建快照的配置

    参数

    说明

    快照名称

    自定义快照名称,可以保持默认值。

    索引

    填写索引名称,支持选择索引进行备份。索引名称不能包含空格和大写字母,且不能包含“"\<|>/?”特殊字符,多个索引之间使用英文逗号隔开。如果不填写,则默认备份集群中所有索引。支持使用“*”匹配多个索引,例如“index*”,表示备份名称前缀是index的所有索引的数据。

    说明:

    在Kibana中使用GET /_cat/indices命令,可以查询集群中所有索引的名称。

    快照描述

    描述快照信息。

    在快照管理列表中,当“快照状态”“可用”时表示快照创建成功。

  5. 快照创建成功后,在快照管理列表,单击快照操作列的“恢复”,配置恢复参数将数据恢复至目标集群“Es-2”
    表3 恢复快照的配置

    参数

    说明

    索引

    填写需要进行恢复的索引名称。如果不填写,则表示恢复所有的索引数据。支持使用“*”匹配多个索引,比如index*,表示恢复快照中名称前缀是index的所有索引。

    索引名称匹配模式

    索引名称匹配规则。“索引名称匹配模式”和“索引名称替换模式”必须同时设置才会生效。通过配置这两参数,可对快照中匹配到的索引进行重命名。

    索引名称替换模式

    索引名称重命名规则。设置“索引名称替换模式”参数时,“索引名称匹配模式”参数和该参数必须同时设置才能生效。

    默认值“restored_index_$1”表示在所有恢复的索引名称前面加上“restored_”

    集群

    选择要恢复快照的目标集群,本案例选择“Es-2”

    选择“是否覆盖目标集群同名同shard结构索引”,建议不覆盖,即不勾选。通过快照恢复数据,是以快照文件覆盖的形式进行数据恢复,覆盖目标集群同名的索引后,可能导致目标集群同名索引数据丢失,请谨慎勾选操作。

    在快照管理列表中,当“任务状态”变更为“恢复成功”时表示集群数据迁移完成。

  6. 数据迁移完毕,检查目标Elasticsearch集群“Es-2”和源集群“Es-1”数据的一致性。例如,分别在源集群和目标集群执行_cat/indices命令,对比两者的索引信息是否一致。

相关文档