ES備份工具下載地址:https://github.com/taskrabbit/elasticsearch-dumpnode
npm安裝過程:git
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash yum -y install nodejs #若是上述yum命令執行有誤,清空一下yum倉庫 yum clean all
#建立一個備份命令目錄,或直接在ES安裝目錄安裝
mkdir esdump && cd esdump
npm install elasticdump
#安裝完成後便可使用(如下是我新建目錄的命令位置)
/usr/local/esdump/node_modules/elasticdump/bin/elasticdump
直接遷移會致使遷移後分片數量爲主1,副1。github
推薦在遷移前,在新集羣中創建索引分片,而後進行數據遷移。npm
參數介紹:json
--input 數據源地址,地址後加入索引名bash
--output 目標地址,地址後加入原有索引名或新索引名app
--type data爲數據拷貝curl
mapping拷貝映射(意思是把原始索引的mapping
結構遷移給目標索引)elasticsearch
analyzer拷貝analyzer分詞工具
--limit 限制每次移動多少個文件(默認是100)
2.1 備份
./elasticdump --input=http://192.168.1.2:9200/test --output=/opt/esdump/test.json
2.2 還原
./elasticdump --input=/opt/esdump/test.json --output=http:/192.168.1.3:9200/test --type=data
2.3 數據遷移
./elasticdump --input=http:/192.168.1.2:9200/test --output=http:/192.168.1.3:9200/test --type=data
2.4 備份並壓縮
./elasticdump --input=http://192.168.1.2:9200/test --output=$ | gzip > /opt/esdump/test.json.gz