一、备份工具安装(也可以通过npm直接安装使用)
ES备份工具下载地址:https://github.com/taskrabbit/elasticsearch-dump
npm安装过程:
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
二、elasticdump命令使用
直接迁移会导致迁移后分片数量为主1,副1。
推荐在迁移前,在新集群中建立索引分片,然后进行数据迁移。
参数介绍:
--input 数据源地址,地址后加入索引名
--output 目标地址,地址后加入原有索引名或新索引名
--type data为数据拷贝
mapping拷贝映射(意思是把原始索引的mapping
结构迁移给目标索引)
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