倘若准备将自建的 elasticsearch 迁移K8s,或者的迁移到其他elasticsearch集群,可以根据自己的业务需要选择适当的迁移方案,针对业务可以停服或可以暂停写操作场景 ,可以使用以下几种方案完成数据迁移:
- COS 快照,全程Cloud Object Storage
- logstash
- elasticsearch-dump
各种迁移方案对比如下:
| 迁移方方案 | 适用场景 |
|---|---|
| COS 快照 | 适合数据量大的场景(GB、TB、PB 级别),对迁移速度要求较高的场景 |
| logstash | 迁移全量或增量数据,对实时性要求不高的场景,且需要对迁移的数据通过 es query 进行简单过滤的场景;需要对迁移的数据进行复杂的过滤或处理的场景;版本跨度较大的数据迁移场景如 5.x 版本迁移到 6.x 或 7.x 版本 |
| elasticsearch-dump | 数据量相对较小的场景 |
一、COS 快照
基于 COS 快照的迁移方式是使用 ES 的 snapshot api 接口进行迁移,基本原理就是从源 ES 集群创建索引快照,然后在目标 ES 集群中进行恢复。通过 snapshot 方式进行数据迁移时,特别需要注意 ES 的版本问题:
目标 ES 集群的主版本号(如5.6.4中的5为主版本号)要大于等于源 ES 集群的主版本号。
1.x 版本的集群创建的快照不能在 5.x 版本中恢复。
在源 ES 集群中创建 repository
创建快照前必须先创建 repository 仓库,一个 repository 仓库可以包含多份快照文件,repository 主要有以下几种类型。
- fs:共享文件系统,将快照文件存放于文件系统中;
- s3:AWS S3 对象存储,快照存放于 S3 中,以插件形式支持,安装该插件请参考 repository-s3;
- hdfs:快照存放于 hdfs 中,以插件形式支持,安装该插件请参考 repository-hdfs;
- cos:快照存放于腾讯云COS对象存储中,以插件形式支持,安装该插件请参考 cos-repository;
url:指定文件系统的 URL 路径,支持协议:http、https、ftp、file、jar。
如果需要从自建 ES 集群迁移至腾讯云的 ES 集群,可以直接使用 COS 类型仓库。但需要先在自建 ES 集群上安装 cos-reposi

文章介绍了三种Elasticsearch数据迁移方案:COS快照适用于大规模数据快速迁移,logstash适合实时性要求不高的全量或增量迁移,而elasticsearch-dump适合小规模数据迁移。迁移时需注意版本兼容性,COS快照通过创建源集群快照并恢复到目标集群,logstash直接从一个集群读取数据写入另一个集群,elasticsearch-dump则是逻辑备份工具,适合小规模数据逻辑迁移。
最低0.47元/天 解锁文章
1371

被折叠的 条评论
为什么被折叠?



