有奖:语音产品征文挑战赛等你来> HOT
文档中心 > Elasticsearch Service > ES Serverless 服务指南 > 数据迁移 > 通过 Logstash 全量或增量迁移已有 ES 集群数据

概述

如果您需要将自建 ES 集群中的全量或增量数据迁移至 ES Serverless 服务,可通过 Logstash 的管道配置功能实现。本文演示购买腾讯云 Logstash 实例,并通过 Logstash 将自建 ES 集群中的全量或增量数据迁移至 ES Serverless 服务。

注意事项

Logstash 实例推荐使用7.14.2、7.10.2版本,需与 ES Serverless 服务的项目空间处在同一专有网络(VPC)下。
数据迁移可以全量迁移或增量迁移。首次迁移时,需先全量迁移,再通过时间字段进行增量迁移。

操作流程

部署 Logstash 管道

1. 请先登录 腾讯云
2. 进入 Logstash 管理界面,单击新建,进入 Logstash 购买页,部分配置信息如下,填写完其他信息后,单击立即购买
网络:选择与项目空间相同的 VPC。
Logstash 版本:选择为7.10.2或者7.14.2。
高级特性:选择为“X-Pack 版”。
3. 在控制台 Logstash 管理界面,单击对应 Logstash 实例名称,进入子页面后,单击管道管理 > 新建管道
4. 在 Config 配置中,输入 input 端和 output 端的相关信息,相关配置参考后续内容。

获取项目空间访问信息

配置数据同步到 ES Serverless 服务,需获取目标项目空间的访问信息,例如访问地址、用户名、密码,获取方式如下:
1. 在项目空间列表单击目标空间名称,进入基本管理页面,单击访问控制
2. 获取项目空间访问地址:



3. 获取用户名与密码,请确保该用户的权限类型为“读写”,同时权限范围包含目标索引:




管道配置:迁移存量数据

# 存量集群索引数据迁移到ES Serverless配置 input{ elasticsearch{ hosts => ["ES 集群访问地址"] user => "elastic" password => "Your_password" index => "index1,index2" } } output { elasticsearch { hosts => ["项目空间内网访问地址"] index => "目标索引名称" user => "elastic" password => "Your_password" } }

管道配置:迁移增量数据

# 增量集群索引数据迁移到ES Serverless配置 input{ elasticsearch{ hosts => ["ES 集群访问地址"] user => "elastic" password => "Your_password" index => "index1,index2" query => '{"query":{"range":{"@timestamp":{"gte":"now-5m","lte":"now/m"}}}}' schedule => "* * * * *" scroll => "5m" } } output { elasticsearch { hosts => ["项目空间内网访问地址"] index => "目标索引名称" user => "elastic" password => "Your_password" } }

附:各配置项含义

配置项
含义
取值说明
input.elasticsearch.hosts
自建 ES 集群访问地址
自建 ES 集群 IP 和端口号,例如:http://xxx.xx.x.xx:9200
input.elasticsearch.user
自建 ES 集群访问用户名
自建 ES 集群用户名,例如:elastic
input.elasticsearch.password
自建 ES 集群访问密码
自建 ES 集群密码,例如:elastic@123
input.elasticsearch.index
自建 ES 集群索引名称
自建 ES 集群索引名称,多个索引以英文以逗号(,)分隔
input.elasticsearch.query
自建 ES 集群数据查询语句
按时间范围查询增量数据,以下配置表示查询最近5分钟的数据(建议保持默认设置):
{"query":{"range":{"@timestamp":{"gte":"now-5m","lte":"now/m"}}}}
注意:
@timestamp 为目标索引的时间字段。
input.elasticsearch.schedule
自建 ES 集群数据查询定时任务
定时任务,以下配置表示每分钟执行一次(建议保持默认设置):* * * *
input.elasticsearch.scroll
自建 ES 集群数据查询 scroll 缓存时间
例如,以下表示查询时 scroll_id 缓存5分钟(建议保持默认设置):5m
output.elasticsearch.hosts
项目空间访问地址
项目空间内网访问地址,例如:http://space-abcdefg.ap-guangzhou.qcloudes.com:80
output.elasticsearch.index
目标索引名称
目标端索引名称
output.elasticsearch.user
项目空间用户名
项目空间访问用户名,例如:elastic
output.elasticsearch.password
项目空间访问密码
项目空间访问密码:例如:elastic@123