首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Elasticsearch系列之七】通过elasticdump迁移ES数据

【Elasticsearch系列之七】通过elasticdump迁移ES数据

原创
作者头像
Vicwan
发布2020-04-27 10:54:37
4.9K0
发布2020-04-27 10:54:37
举报

elasticdump

1.1、适合场景

适合数据量不大,迁移索引个数不多的场景(索引的分片数量和副本数量需要对每个索引单独进行迁移,或者直接在目标集群提前将索引创建完成,再迁移数据),支持:analyzer/Mapping/data的迁移操作。

相比于:reindex跨集群操作,elasticdump无需在ES集群的配置文件elasteicsearch.yml中设置授权迁移访问地址(白名单)。

1.2、使用方式

elasticsearch-dump是一款开源的ES数据迁移工具,github地址: https://github.com/taskrabbit/elasticsearch-dump

1) 安装elasticsearch-dump

elasticsearch-dump使用node.js开发,可使用npm包管理工具直接安装:

npm install elasticdump -g

2) 主要参数说明

--input: 源地址,可为 ES 集群 URL、文件或 stdin,可指定索引,格式为:{protocol}://{host}:{port}/{index}
--input-index: 源 ES 集群中的索引
--output: 目标地址,可为 ES 集群地址 URL、文件或 stdout,可指定索引,格式为:{protocol}://{host}:{port}/{index}
--output-index: 目标 ES 集群的索引
--type: 迁移类型,默认为 data,表明只迁移数据,可选 settings, analyzer, data, mapping, alias
--limit:每次向目标ES集群写入数据的条数,不可设置的过大,以免bulk队列写满

3) 迁移单个索引

以下操作通过elasticdump命令将集群172.16.0.39中的companydatabase索引迁移至集群172.16.0.20。

注意:第一条命令先将索引的settings先迁移,如果直接迁移mapping或者data将失去原有集群中索引的配置信息如分片数量和副本数量等,当然也可以直接在目标集群中将索引创建完毕后再同步mapping与data。

elasticdump --input=http://172.16.0.39:9200/companydatabase --output=http://172.16.0.20:9200/companydatabase --type=settings
elasticdump --input=http://172.16.0.39:9200/companydatabase --output=http://172.16.0.20:9200/companydatabase --type=mapping
elasticdump --input=http://172.16.0.39:9200/companydatabase --output=http://172.16.0.20:9200/companydatabase --type=data

4) 迁移所有索引

以下操作通过elasticdump命令将将集群172.16.0.39中的所有索引迁移至集群172.16.0.20。

注意:此操作并不能迁移索引的配置如分片数量和副本数量,必须对每个索引单独进行配置的迁移,或者直接在目标集群中将索引创建完毕后再迁移数据。

elasticdump --input=http://172.16.0.39:9200 --output=http://172.16.0.20:9200

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • elasticdump
    • 1.1、适合场景
      • 1.2、使用方式
      相关产品与服务
      Elasticsearch Service
      腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档