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 地址,可以参考

 

posted @ 2018-05-31 14:44  星火燎原智勇  阅读(3014)  评论(0编辑  收藏  举报