1. Elasticsearch-dump
這個是我比較常用的一個工具
1) yum install epel-release
2) yum install nodejs
3) yum install nodejs npm
4) npm install elasticdump
5) cd node_modules/elasticdump/bin
6)./elasticdump --input=http://192.168.1.1:9200/original --output=http://192.168.1.2:9200/newCopy --type=data
第6步是遷移到新索引的命令。需要注意的是如果只使用這個命令的話,目的索引必須先手動創建一下mapping,不然遷移過去類型會自動判斷,date類型判斷成string等等
如果你很懶你不想自己創建索引,那麼你可以在執行6)之前做一下:
./elasticdump --input=http://192.168.1.1:9200/original --output=http://192.168.1.2:9200/newCopy --type=mapping
不一樣的地方就是--type=mapping ,意思是把原始索引的mapping結構遷移給目標索引。然後在執行--type=data的6)就可以把數據遷移過去啦
如果索引很多,你還是懶得一個個去遷移,那麼你可以改用這個命令:
./elasticdump --input=http://192.168.1.1:9200/ --output=http://192.168.1.2:9200/ --all=true
加個--all=true,input與output裏不需要把索引名加上,這樣就可以自動把原機器上的所有索引遷移到目標機器