ES数据迁移工具elasticdump

Published on 2021-11-12 16:59 in 分类: 随笔 with 狂盗一枝梅
分类: 随笔

一、常规使用

第一步:安装node

第二步:安装elasticdump

运行命令

npm install elasticdump -g

第三步:数据迁移

1.拷贝analyzer分词

elasticdump \
  --input=http://prod-username:prod-passowrd@production.es.com:9200/my_index \
  --output=http://prod-username:prod-passowrd@staging.es.com:9200/my_index \
  --type=analyzer

2.拷贝映射

elasticdump \
  --input=http://prod-username:prod-passowrd@production.es.com:9200/my_index \
  --output=http://prod-username:prod-passowrd@staging.es.com:9200/my_index \
  --type=mapping

3.拷贝数据

elasticdump \
  --input=http://prod-username:prod-passowrd@production.es.com:9200/my_index \
  --output=http://prod-username:prod-passowrd@staging.es.com:9200/my_index \
  --type=data

二、其它

1、认证

可以使用--httpAuthFile参数指定认证文件

When using http auth provide credentials in ini file in form user=<username> password=<password>

另外可以直接将账号密码放到url中比较方便快捷

elasticdump \
  --input=http://prod-username:prod-passowrd@production.es.com:9200/my_index \
  --output=http://stage-username:stage-password@staging.es.com:9200/my_index \
  --type=data

2、备份到文件

elasticdump \
  --input=http://production.es.com:9200/my_index \
  --output=/data/my_index_mapping.json \
  --type=mapping
  
elasticdump \
  --input=http://production.es.com:9200/my_index \
  --output=/data/my_index.json \
  --type=data

3、备份到标准输出,且进行压缩

elasticdump \
  --input=http://production.es.com:9200/my_index \
  --output=$ \
  | gzip > /data/my_index.json.gz

4、把一个查询结果备份到文件中

elasticdump \
  --input=http://production.es.com:9200/my_index \
  --output=query.json \
  --searchBody '{"query":{"term":{"username": "admin"}}}'

5、将备份文件的数据导入ES

elasticdump \
  --input=./data.json \
  --output=http://es.com:9200 

三、参考文档

Elasticsearch数据迁移工具elasticdump工具


#elasticsearch #es #工具
目录