Elasticsearch索引迁移
介绍
旧Elasticsearch版本:2.4.4
新Elasticsearch版本:2.4.4
近期dev环境服务器迁移到一台新的物理机,所以需要迁移部分Elasticsearch索引数据.
Elasticsearch索引迁移有许多方法.测试过elasticsearch-exporter.但是没有成功.报错如下:
1 | [work@docker elasticsearch-exporter]$ node exporter.js -a 10.0.0.250 -b 10.0.0.101 -p 9200 -q 9200 -i mid_mg_gc_datasource_items -j mid_mg_gc_datasource_items |
Elasticsearch-dump
本次使用elasticsearch-dump进行索引迁移.在github上可以找到具体使用方法:elasticsearch-dump
安装
1 | npm install elasticdump |
这里稍微踩了个坑,如果报错:
1 | pm WARN deprecated nomnom@1.8.1: Package no longer supported. Contact support@npmjs.com for more info. |
则需要初始化一下npm
1 | work@docker ~]$ npm init |
安装完成后,进入到elasticsearch dump
的bin
目录下
1 | [work@docker ~]$ cd node_modules/elasticdump/bin/ |
用法
查看elasticsearchdump的具体用法
[work@docker bin]$ ./elasticdump –help
elaticsearchdump
支持两个ES跨版本迁移索引,还支持索引备份到文件,以及从文件恢复到Elasticsearch
迁移mid_gm_gc_brand这个索引数据
1 | [work@docker bin]$ ./elasticdump --input=http://10.0.0.250:9200/mid_mg_gc_brand --output=http://10.0.0.101:9200/mid_mg_gc_brand --type=analyzer |
文档中的type类型有settings, analyzer, data, mapping, alias, template
查看新服务器上的索引.迁移成功
1 | huangyong@huangyong-Macbook-Pro ~ curl -Ssl 'http://10.0.0.101:9200/_cat/indices?v' | grep 'mid_mg*' |