ElasticSearch 索引整体迁移方案
以下都是经过实战验证过的!!!
【前提】使用相同的版本 ElasticSearch-5.5.1,只不过是在不同的服务器之间且重跑数据相对来说代价比较高,这种情况下就可以使用一下这种方式对索引整体迁移
当然也支持 ElasticSearch 不同版本之间的迁移(这个没有亲测),以及从不同数据源同步等操作
首先需要安装 nodejs npm 相关组件,我本机环境是 CentOS 环境,直接通过 yum 进行安装的时候发现报错:
npm: relocation error: npm: symbol SSL_set_cert_cb, version libssl.so.10 not defined in file libssl.so.10 with link time reference
网上找了一下相关资料,发现最直接有效的方法是升级openssl
yum update openssl -y
此时就可以进行直接安装了,具体步骤如下:
yum install epel-release yum install nodejs yum install nodejs npm npm install elasticdump
安装完毕之后,需要进入到 elasticdump 目录下运行迁移命令
cd ~/node_modules/elasticdump/bin
具体我是从源 192.168.1.55:9201/intention_20180420 迁移到目标 192.168.2.126:9201/intention_20180531 上
./elasticdump --input=http://192.168.1.55:9201/intention_20180420 --output=http://192.168.2.126:9201/intention_20180531 --type=data
如果想要导出到文件或者从文件导入到搜索引擎可以这样搞:
index->file: ./elasticdump --input=http://192.168.1.55:9201/intention_20180420 --output=./json.log file->index: ./elasticdump --input=./json.log --output=http://192.168.1.55:9201/intention_20180420
具体有对应的 github 地址,可以参考