如下都是通过实战验证过的!!!node
【前提】使用相同的版本 ElasticSearch-5.5.1,只不过是在不一样的服务器之间且重跑数据相对来讲代价比较高,这种状况下就能够使用一下这种方式对索引总体迁移git
固然也支持 ElasticSearch 不一样版本之间的迁移(这个没有亲测),以及从不一样数据源同步等操做github
首先须要安装 nodejs npm 相关组件,我本机环境是 CentOS 环境,直接经过 yum 进行安装的时候发现报错:npm
npm: relocation error: npm: symbol SSL_set_cert_cb, version libssl.so.10 not defined in file libssl.so.10 with link time reference
网上找了一下相关资料,发现最直接有效的方法是升级openssljson
yum update openssl -y
此时就能够进行直接安装了,具体步骤以下:bash
yum install epel-release yum install nodejs yum install nodejs npm npm install elasticdump
安装完毕以后,须要进入到 elasticdump 目录下运行迁移命令服务器
cd ~/node_modules/elasticdump/bin
具体我是从源 192.168.1.55:9201/intention_20180420 迁移到目标 192.168.2.126:9201/intention_20180531 上elasticsearch
./elasticdump --input=http://192.168.1.55:9201/intention_20180420 --output=http://192.168.2.126:9201/intention_20180531 --type=data
若是想要导出到文件或者从文件导入到搜索引擎能够这样搞:搜索引擎
index->file: ./elasticdump --input=http://192.168.1.55:9201/intention_20180420 --output=./json.log file->index: ./elasticdump --input=./json.log --output=http://192.168.1.55:9201/intention_20180420
具体有对应的 github 地址,能够参考blog