如果您需要将云上Elasticsearch(简称ES)中的数据迁移至阿里云ES Serverless中,可通过DataWorks实现。本文介绍通过DataWorks的数据集成服务快速将ES实例中的数据同步到阿里云ES Serverless应用中。
准备工作
创建阿里云ES实例。具体操作,请参见创建阿里云Elasticsearch实例和配置YML参数。
创建阿里云ES Serverless应用。具体操作,请参见创建应用。
创建DataWorks工作空间。具体操作,请参见创建工作空间。
工作空间所在地域与阿里云ES实例一致。
操作步骤
本文以离线同步为例。如果需要在线同步数据,请参见一键实时同步至Elasticsearch。
步骤一:购买并创建独享资源组
购买并创建一个数据集成独享资源组,并为该资源组绑定专有网络和工作空间。独享资源组可以保障数据快速、稳定地传输。
登录DataWorks控制台。
在左侧导航栏,单击资源组列表。
在独享资源组页签下单击创建集成资源组,在购买页面根据业务需要配置相应的参数。
购买地域需要与ES实例所在地域保持一致,独享资源类型选择独享数据集成资源。更多参数说明,请参见购买资源组。
在已创建的独享资源组的操作列,单击网络设置,为该独享资源组绑定专有网络。
独享资源部署在DataWorks托管的专有网络中,DataWorks需要与ES实例的专有网络连通才能同步数据。新增专有网络绑定时选择ES实例所在的专有网络、可用区和交换机。更多信息,请参见绑定专有网络。
在已创建的独享资源组的操作列,单击修改归属工作空间,为该独享资源组绑定目标工作空间。
具体操作,请参见绑定归属工作空间。
步骤二:添加数据源
将ES实例和ES Serverless应用数据源接入DataWorks的数据集成服务中。
进入DataWorks的数据集成页面。
登录DataWorks控制台。
在左侧导航栏,单击工作空间列表。
在目标工作空间的操作列,选择
。
在左侧导航栏,单击数据源。
新增ES实例数据源。
在数据源列表页面,单击新增数据源。
在新增数据源对话框中,搜索并选择Elasticsearch。
在新增Elasticsearch数据源对话框,配置ES实例信息。
更多信息,请参见配置Elasticsearch数据源。
单击测试连通性,连通状态显示为可连通时,表示连通成功。
单击完成。
使用同样的方式添加ES Serverless数据源。
部分参数说明:
参数
说明
数据源名称
Elasticsearch
数据源类型
连接串模式
Endpoint
阿里云ES Serverless的应用访问地址,格式为:http://<实例公网地址>:9200。
说明目前仅支持公网方式访问。
用户名
访问阿里云ES Serverless实例的用户名,在基本信息处获取。
密码
对应用户的密码。
步骤三:配置并运行数据同步任务
数据离线同步任务将独享资源组作为一个可以执行任务的资源,独享资源组将获取数据集成服务中数据来源的数据,并将数据写入数据去向中。
有两种方式可以配置离线同步任务,文本以向导模式配置离线同步任务为例。您也可以通过脚本模式配置离线同步任务,详情请参见通过脚本模式配置离线同步任务、Elasticsearch Reader和Elasticsearch Writer。
进入DataWorks的数据开发页面。
登录DataWorks控制台。
在左侧导航栏,单击工作空间列表。
在目标工作空间的操作列,选择
。
新建一个离线同步任务。
在左侧导航栏,选择
,新建一个业务流程。右键单击新建的业务流程,选择
。在新建节点对话框中,输入节点名称,单击确认。
网络与资源配置。
数据来源选择Elasticsearch,数据源名称选择已添加的ES数据源。
我的资源组选择独享资源组。
数据去向选择Elasticsearch,数据源名称选择已添加的ES Serverless数据源。
单击下一步。
配置离线同步任务。详细信息,请参见通过向导模式配置离线同步任务。
在数据来源和数据去向区域,设置同步的具体对象。
说明建议在数据去向的高级配置中,启用节点发现保持默认,设置为否。否则同步过程中会提示连接超时。
在字段映射区域中,设置来源字段与目标字段的映射关系。
在通道控制区域中,配置执行任务的相关参数。
(可选)配置任务调度属性。在页面右侧,单击属性,按照需求配置相应的调度参数。
更多信息,请参见任务调度属性配置概述。
提交并发布任务。
单击图标,提交当前配置。
单击图标,运行任务。任务运行过程中,可查看运行日志。运行成功后,显示如下结果。
步骤四:验证数据同步结果
登录目标阿里云ES Serverless应用的Kibana控制台。具体操作,请参见通过Kibana使用Serverless应用。
在左侧导航栏,单击Dev Tools(开发工具)。
在Console中,执行如下命令,查看同步成功的数据。
GET /test_2serverless/_search
说明test_2serverless需要替换为您在数据同步脚本中设置的index字段的值。