ES数据备份、还原、迁移,适用于数据量较小的环境

一、备份工具安装(也可以通过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
原文地址:https://www.cnblogs.com/Huang-Niu/p/12598643.html