以下都是經過實戰驗證過的!!!
【前提】使用相同的版本 ElasticSearch-5.5.1,只不過是在不同的服務器之間且重跑數據相對來說代價比較高,這種情況下就可以使用一下這種方式對索引整體遷移
當然也支持 ElasticSearch 不同版本之間的遷移(這個沒有親測),以及從不同數據源同步等操作
首先需要安裝 nodejs npm 相關組件,我本機環境是 CentOS 環境,直接通過 yum 進行安裝的時候發現報錯:
npm: relocation error: npm: symbol SSL_set_cert_cb, version libssl.so.10 not defined in file libssl.so.10 with link time reference
網上找了一下相關資料,發現最直接有效的方法是升級openssl
yum update openssl -y
此時就可以進行直接安裝了,具體步驟如下:
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 上
./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 地址,可以參考
