美文网首页
Linux使用elasticdump工具将ES索引库导到另一台服

Linux使用elasticdump工具将ES索引库导到另一台服

作者: 开发者连小超 | 来源:发表于2019-06-25 17:25 被阅读0次

    我在工作中曾遇到ES服务器变更,需要将现服务器上的所有索引库导到新服务器上。
    一种解决方案是,写一段Java程序,将数据库中的数据查询出来,重新全部导入新的索引库,因为一般索引库的数据来源于数据库。
    但是,如果索引库数据是经过加工的才存储的,和数据库不一样呢?此时就需要完整将旧索引库的数据整体迁移到新索引库。

    一、Linux下安装Node.js

    使elasticdump工具,需要用npm,因此Linux下没有node.js需要安装
    1、官网(http://nodejs.cn/download/)下载【Linux 二进制文件 (x64)】
    2、上传node-v10.16.0-linux-x64.tar.xz到/usr/node目录下
    3、tar -zxvf node-v10.16.0-linux-x64.tar.xz 解压
    4、编译安装

    [root@i-xxx ~] cd /usr/node/node-v10.16.0-linux-x64/
    [root@node-v10.16.0-linux-x64] ./configure --prefix=/usr/node/node-v10.16.0-linux-x64/
    [root@node-v10.16.0-linux-x64] make
    [root@node-v10.16.0-linux-x64] make install
    

    5、配置环境变量

    vim /etc/profile
    #在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容
    #set for nodejs
    export NODE_HOME=/usr/node/node-v10.16.0-linux-x64/
    export PATH=$NODE_HOME/bin:$PATH
    #:wq保存并退出,编译/etc/profile 使配置生效 
    source /etc/profile
    #验证是否安装配置成功 
    node -v
    

    二、安装elasticdump

    1、在/usr/soft/elasticsearch目录下新建一个estools文件夹

    [root@i-xxx ~] cd /usr/soft/elasticsearch
    [root@elasticsearch] mkdir estools
    

    2、安装

    [root@elasticsearch] cd ./estools
    [root@estools] npm install elasticdump
    

    3、拷贝数据命令

    ./elasticdump --input=http://192.168.1.225:9200/cpnews --output=http://192.168.58.4:9200/news --type=data --maxSockets=5
    

    注意:执行上面命令是将192.168.1.225服务器上的cpnews索引数据拷贝到192.168.58.4服务器上,192.168.58.4上会新增一个索引叫news,不需要提前在 192.168.58.4上新增索引,如果新增此操作会报错。

    相关文章

      网友评论

          本文标题:Linux使用elasticdump工具将ES索引库导到另一台服

          本文链接:https://www.haomeiwen.com/subject/fbjxcctx.html