为提升迁移速度与平滑性,阿里云Elasticsearch推出了一款基于节点融合的在线迁移工具。该工具能够高效、无缝地将自建Elasticsearch集群数据(基于IDC ECS部署),迁移至全托管的阿里云Elasticsearch。本文为您介绍使用在线迁移工具进行数据迁移的相关操作流程。
背景信息
节点融合的迁移方案会将自建Elasticsearch和阿里云Elasticsearch融合为一个大集群。融合后,将对自建Elasticsearch的数据进行灰度迁移,迁移过程依次进行副本迁移、主节点迁移、主分片迁移。数据迁移完成后,您可将业务数据请求(例如,查询、写入)从自建Elasticsearch切换为阿里云Elasticsearch的域名地址,使用阿里云Elasticsearch提供后续服务。同时,需通过网络隔离自建Elasticsearch,停止其继续提供服务。在验证业务数据准确无误后,方可下线自建Elasticsearch。具体操作请参见下文。
数据迁移过程中,副本迁移支持执行回滚操作,主节点及主分片迁移不支持回滚,请谨慎操作。
Elasticsearch在线迁移工具目前为灰度开放,如需使用,请提交工单申请。
使用限制
- 地域限制:不支持跨地域的数据迁移,即自建Elasticsearch所在的ECS,需要与阿里云Elasticsearch同地域。 
- 网络限制:不支持跨VPC的数据迁移,即自建Elasticsearch所在ECS的VPC网络,需要与阿里云Elasticsearch的VPC一致。 
- 版本限制:仅支持将自建Elasticsearch数据迁移至阿里云Elasticsearch的 - 6.7、- 6.8、- 7.10、- 7.17、- 8.13、- 8.15、- 8.17等版本。- 若自建Elasticsearch版本,包含在上述阿里云Elasticsearch版本内,建议同版本迁移。例如,自建Elasticsearch - 6.7,迁移至阿里云Elasticsearch- 6.7。
- 若自建Elasticsearch版本,不包含在上述阿里云Elasticsearch版本内,建议就近选择高于自建Elasticsearch版本的阿里云Elasticsearch。例如,自建Elasticsearch - 8.5,迁移至阿里云Elasticsearch- 8.13。说明- 不支持跨大版本的数据迁移(例如,7.x迁移到8.x)。 
 
- 其他限制: - 仅支持将自建Elasticsearch数据迁移至基于云原生新管控(v3)模式部署的阿里云Elasticsearch实例。 
- 自建Elasticsearch集群索引必须已创建副本,集群本地建议有快照。 
 
前提条件
自建Elasticsearch侧
- 已基于ECS部署自建Elasticsearch集群。该集群作为进行迁移的源集群。 
- 自建Elasticsearch集群的索引已创建副本。 
- 已准备解密的P12文件。P12文件用于存储公钥和私钥,并包含数字证书。后续数据迁移过程中,可通过P12文件确保节点之间能够正常通信。 
- (可选)若自建Elasticsearch未鉴权,则需开启 - X-Pack Security(即配置- xpack.security.enabled: true),保障迁移过程数据安全。
阿里云Elasticsearch侧
已创建阿里云Elasticsearch,该集群作为进行迁移的目标集群,用于接收自建Elasticsearch的迁移数据。为保障迁移过程顺畅,请确保创建的阿里云Elasticsearch:
- 基于云原生新管控(v3)模式部署。 
- 与自建Elasticsearch所在的ECS同地域、同VPC网络。 
- 与自建Elasticsearch版本建议保持一致。 说明- 如需执行跨版本的数据迁移,请提交工单,联系阿里云Elasticsearch的技术支持人员。 
- 实例规格及节点数的配置,不低于自建Elasticsearch的配置。 
- 用户名及密码建议与自建Elasticsearch保持一致。 
- 若自建Elasticsearch安装了自定义插件(例如,用于执行相似性搜索的插件 - elasticsearch-knn),则需在阿里云Elasticsearch安装相同插件。插件相关操作,请参见插件配置。
- 需确保云上集群功能(例如,集群配置、词典等)符合业务预期、网络可达。 
操作流程
步骤一:创建迁移任务
- 进入在线迁移入口。 - 登录阿里云Elasticsearch控制台。
- 在左侧导航栏单击,进入在线迁移入口。 
 
- 单击创建,创建迁移任务并配置相关参数。  - 参数 - 描述 - 类型 - 选择自建Elasticsearch迁移,用于将自建Elasticsearch的数据迁移至阿里云Elasticsearch中。 - 目标集群 - 用于接收自建Elasticsearch数据的阿里云Elasticsearch实例。请按需选择与自建Elasticsearch所在ECS同地域的实例,选择后,需按照界面指引,输入实例的虚拟交换机ID。 说明- 仅支持选择云原生新管控(v3)模式部署的实例,若没有合适实例,请按需创建阿里云Elasticsearch实例。 
- 虚拟交换机用于进行网络隔离及访问控制,可通过查看实例的基本信息获取。 
 - 自建ES VPC - 自建Elasticsearch的VPC ID。 - 自建ES ECS IP - 自建Elasticsearch中,任意一个节点所在的ECS实例的IP地址。 - 自建ES P12文件 - 按照界面指引上传解密后的P12文件。P12文件用于存储公钥和私钥,并包含数字证书。后续数据迁移过程中,可通过P12文件确保节点之间能够正常通信。 - 自建ES用户名 - 登录自建Elasticsearch的用户名。 - 自建ES密码 - 登录自建Elasticsearch的密码。 
- 单击确定,完成任务创建。 
步骤二:配置并执行迁移任务
在该步骤,您需按照界面指引配置迁移任务并完成数据迁移。
迁移任务中的源集群为自建Elasticsearch,目标集群为阿里云Elasticsearch。
- 迁移检查及配置融合。 - 在源与目标集群设置页签,您需按照如下步骤完成迁移任务的可行性检查及融合配置。  - 可行性检查:执行迁移操作前,系统会自动检测源集群与目标集群的网络连通性、版本兼容性、资源充足性等,确保数据迁移操作安全可行。 说明- 若可行性检查不通过,请按照界面提示修改相关配置。 
- 配置融合:系统自动检测源集群的配置参数(例如,分片副本数、分片策略、用户权限配置等)并适配至目标集群,确保源集群与目标集群的配置参数、资源分配、分片策略等无缝同步,从而实现平滑迁移和高效运行。 说明- 该步骤预计耗时20分钟左右,请耐心等待。 
 
- 进行数据迁移。 - 在数据迁移页签,需按下图步骤,依次完成集群融合、副本迁移、主节点迁移及主分片迁移。  - 操作项 - 描述 - 说明 - 集群融合 - 系统将源集群和目标集群合并为一个大集群,合并后, - 集群内的总节点数 = 源集群节点数 + 目标集群节点数。- 集群融合后,目标集群的Kibana将被临时关闭。在数据迁移期间,您仍可使用源集群的Kibana,直至业务切换完成。 - 副本迁移 - 系统将索引副本分片,从源集群节点迁移至目标集群节点。 - 若在迁移过程中出现非预期故障或对业务造成影响,可执行回滚操作。回滚完成后,当前迁移任务将无法继续执行,需重新创建迁移任务。 - 主节点迁移 - 系统将融合后集群中的主节点,从源集群迁移至目标集群。 - 主节点迁移任务发起后立即变更,不支持任何场景的回滚,请谨慎操作。 - 主分片迁移 - 系统将存储原始数据的主分片,从源集群节点迁移至目标集群节点。 - 主分片迁移启动后,不支持任何场景的回滚,请谨慎操作。 
- 进行业务切换及网络隔离。 - 在该步骤,您会将当前业务切换至目标集群,同时,通过网络隔离,停止原有集群的服务提供。  - 业务切换。 - 在业务切换页签,按照界面提示,基于您的业务应用,将当前业务中所有查询及写入请求,从源集群的域名切换至目标集群的域名,后续将使用目标集群提供相关服务。 
- 网络隔离。 - 业务切换完成后,您需发起网络隔离请求,禁止源集群的节点再加入至目标集群中,即后续将停止使用源集群提供服务。 说明- 当界面出现下线自建集群节点时,请按照提示下线自建集群ECS节点或关闭ES进程(建议通过 - kill -15 <ES进程PID>方式下线),操作完成后,系统会继续执行网络隔离操作。该过程预计耗时20分钟,请耐心等待。
 
- 完成迁移。 - 网络隔离执行成功后,此次迁移任务完成。您可单击前往实例列表,查看实例详情。 
步骤三:数据验证
数据迁移任务执行完成后,您可通过Kibana控制台访问目标阿里云Elasticsearch,执行相关查询或写入操作,验证集群是否符合预期。如有问题,请提交工单,联系阿里云Elasticsearch的技术支持人员。
后续步骤
数据迁移完成且验证无误后,您可下线自建Elasticsearch集群。
相关文档
- 更多自建Elasticsearch的数据迁移方式,请参见自建Elasticsearch数据迁移。 
- 阿里云Elasticsearch的相关操作,请参见快速访问与配置。