elasticsearch-dump 迁移es数据 (elasticdump)
1.安装elasticdump工具
github地址 :https://github.com/taskrabbit/elasticsearch-dump
或者 : https://www.npmjs.com/package/elasticdump
1 | [admin@haifly-bj-ops ~]$ wget https://nodejs.org/dist/v8.11.2/node-v8.11.2-linux-x64.tar.xz |
1 | [admin@haifly-bj-ops ~]$ npm init -f |
1 | [admin@haifly-bj-ops ~]$ /usr/local/bin/npm install elasticdump |
在当前目录下有个node_modules目录,elasticdump就在elasticdump/bin下
1 | [admin@haifly-bj-ops ~]$ ls node_modules/elasticdump/bin/elasticdump |
2.数据迁移
2.1 数据迁移到另一台ES上
最省事的方式还是直接迁移到另一台ES服务器上
1 | #拷贝analyzer分词 |
1 | # 注意 elasticdump 提供给了--httpAuthFile 参数来做认证 |
2.2 数据迁移到到文件
如果网络情况不好,或者没有网络还可以先备份到文件
1 | # 备份索引数据到文件里: |
elasticdump还是非常方便的,主要是可以指定查询条件,把查询结果进行备份。如果按照日期进行查询,那么就可以迁移指定之间段内的数据,恢复数据
1 | # 将备份文件的数据导入ES |
注:可以用*号导整月或年的索引
例如:
1 | elasticdump --input=http://production.es.com:9200/nginx-access-2018.08* --output=/elkbackup/nginx-access-2018.08.json --type=data --headers='{"content-type": "application/json"}' |