一、常规使用
第一步:安装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工具
注意:本文归作者所有,未经作者允许,不得转载