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