为了快速实现自建Elasticsearch集群迁移上云、集群索引重建(reindex)和跨集群数据迁移,阿里云Elasticsearch提供了一键索引迁移功能。本文介绍一键索引迁移功能的应用场景及使用方法。

前提条件

已创建满足条件的源和目标端Elasticsearch集群:
  • 源端为6.7.0版本的自建或阿里云Elasticsearch集群。
  • 目标端为6.3.2或6.7.0版本的阿里云Elasticsearch集群。
创建阿里云Elasticsearch集群的具体操作,请参见创建阿里云Elasticsearch实例
重要 如果您需要进行跨账号迁移,那么在创建阿里云Elasticsearch集群时,源端和目标端必须在同一专有网络下。

使用限制

阿里云Elasticsearch集群需要满足以下条件,才会显示一键索引迁移功能入口:
  • 版本:6.3.2或6.7.0版本
  • 地域:华北2(北京)地域
  • 集群创建时间:2023年2月15日之前创建的集群
重要 一键索引迁移功能即将进入升级维护状态,产品将关闭该功能入口。待升级完成后,会通过产品动态告知,请耐心等待。目前推荐您使用快照、reindex、Logstash等方式进行集群迁移数据,详细信息请参见迁移方案选取指南

应用场景

  • 同集群索引重建(reindex)。支持修改索引的主分片数量和Mapping。
  • 阿里云Elasticsearch集群间,批量或单个索引迁移。
  • 自建Elasticsearch集群与阿里云Elasticsearch集群间,批量或单个索引迁移。

操作步骤

  1. 登录阿里云Elasticsearch控制台
  2. 在左侧导航栏,单击Elasticsearch实例
  3. 进入目标实例。
    1. 在顶部菜单栏处,选择资源组和地域。
    2. Elasticsearch实例中单击目标实例ID。
  4. 基本信息页面,选择右上角的一键索引迁移 > 创建迁移任务
    阿里云Elasticsearch集群需要满足以下条件,才会显示一键索引迁移功能入口:
    • 版本:6.3.2或6.7.0版本
    • 地域:华北2(北京)地域
  5. 一键索引迁移页面,选择源和目标Elasticsearch集群。
    选择源和目标端集群
    所选迁移方式不同,源端集群的要求不同,具体如下。
    说明 目标端集群为当前集群,集群ID和版本(仅支持6.3.2和6.7.0)不可变更,仅需填入用户名和密码。在配置时,需要重点关注源端。
    • 从现有阿里云Elasticsearch集群迁移
      参数说明
      选择源集群选择与目标端集群在同一专有网络下的阿里云Elasticsearch实例的ID。
      源集群版本仅支持6.7.0版本。
      用户名阿里云Elasticsearch的用户名,默认为elastic。
      密码elastic用户的密码。一般在创建实例时设定,如果忘记可重置,详情请参见重置实例访问密码
    • 从自建Elasticsearch集群迁移

      集群类型不同,需要配置的参数不同。当集群类型专有网络下的自建集群时,源端集群需要选择与目标端集群在同一地域中,任意专有网络下的自建或阿里云Elasticsearch集群(仅支持6.7.0版本);当集群类型开启公网访问的自建集群时,源端集群需要选择任意公网网络下的自建或阿里云Elasticsearch集群(仅支持6.7.0版本)。详细参数说明如下。

      集群类型参数说明
      专有网络下的自建集群所在区域集群所在地域,需要与目标端实例保持一致。
      专有网络集群所在的专有网络ID。不需要与目标端实例保持一致。
      源集群访问IP专有网络下,集群中任一节点的IP地址,例如192.168.xx.xx。
      端口集群的访问端口,例如9200。
      用户名(选填)如果自建Elasticsearch集群开启了用户登录认证,则需要输入用户名和密码。
      密码(选填)对应用户的密码。
      开启公网访问的自建集群源集群公网访问地址集群的公网访问地址,例如http://10.37.xx.xx:9200。如果为阿里云Elasticsearch集群,需要配置为http://<集群的外网地址>:9200
      用户名(选填)如果自建Elasticsearch集群开启了用户登录认证,则需要输入用户名和密码。
      密码(选填)对应用户的密码。
    选择了源端和目标端集群后,您可以进行连通性测试。如果不通过,可以从以下几方面排查:
    • 如果源端是阿里云ECS上自建的Elasticsearch集群,需要检查阿里云ECS实例的安全组是否对外开放9200端口。如果没有开放,请参见添加安全组规则,开放9200端口。
    • 检查源端和目标端集群的白名单是否有限制。如果有限制,请取消限制或修改白名单配置。具体操作,请参见配置实例公网或私网访问白名单
    • 阿里云Elasticsearch的用户名默认为elastic,请检查用户名和密码是否配置正确。
      重要 如果自建Elasticsearch集群开启了用户登录认证(即用户必须通过用户名和密码认证,才被允许访问集群。无论是通过Kibana、客户端还是API等方式访问集群,都需要经过认证),则需要输入用户名和密码,否则可能导致迁移任务失败。
  6. 单击下一步,配置索引迁移任务。
    配置索引迁移任务
    参数说明
    选择源索引和Type选择待迁移的索引和索引类型。
    创建目标索引和Type填入目标索引的名称和类型。请确保目标集群中不存在同名索引。
    自定义Routing支持自定义路由字段。不填时,_routing默认使用主键字段。
    Mapping配置默认读取源索引的Mapping配置。可自定义修改索引类型、属性的名称和类型等。
    重要 如果您修改了目标索引类型,需要在Mapping中同步修改,否则会报错SinkTypenameNotMatchMappings
    Settings配置默认读取源索引的Settings配置。可自定义修改索引的主分片和副本分片数等。
    说明 您也可以单击页面底部的添加索引迁移任务,添加多个索引迁移任务。添加后,可单击删除,删除对应的索引迁移任务。
  7. 单击提交
  8. 查看索引迁移任务的详细信息。
    1. 基本信息页面,选择一键索引迁移 > 查看任务
    2. 索引构建任务列表对话框中,查看迁移任务的执行状态、进度、日志等。
      索引构建任务列表中,展示所有已完成和正在进行中的任务的详细信息。可单击查看日志查看任务的详细日志。查看迁移任务信息