如下都是通過實戰驗證過的!!!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