美文网首页
CentOS7安装并使用ElasticDump——ES的数据迁移

CentOS7安装并使用ElasticDump——ES的数据迁移

作者: 李小二的倔强 | 来源:发表于2020-04-24 15:23 被阅读0次

    环境准备:

    Centos7版本:7.3
    es版本:6.4.3
    node版本:8.15.0

    步骤:

    1.首先需要安装node环境

    wget https://nodejs.org/dist/v10.15.0/node-v10.15.0-linux-x64.tar.gz
    

    2.创建node的存放位置的文件夹,这里将node放在/usr/local目录下

    [root@centos7 pid]# mkdir node
    [root@centos7 pid]# mv node-v10.15.0-linux-x64.tar.gz ./node
    

    3.解压node-v10.15.0-linux-x64.tar.gz

    [root@centos7 node]# tar -xzvf node-v10.15.0-linux-x64.tar.gz
    

    4.配置环境变量,以便于全局使用

    [root@centos7 node]# vim /etc/profile
    

    加入以下内容,执行source /etc/profile 生效

    export NODE_HOME=/usr/local/pid/node/node-v10.15.0-linux-x64.tar.gz
    export PATH=$PATH:$NODE_HOME/bin
    export NODE_PATH=$NODE_HOME/lib/node_modules
    

    5.验证node和npm

    node -v
    npm -v
    
    [root@centos7 pid]# node -v
    v8.15.0
    [root@centos7 pid]# npm -v
    6.4.1
    [root@centos7 pid]# 
    

    6.安装ElasticDump

    [root@centos7 pid]# npm install elasticdump -g
    

    7.测试elasticdump是否安装成功

    [root@centos7 pid]# elasticdump --version
    6.27.3
    [root@centos7 pid]# 
    

    8.使用方式

    #使用方法
    [root@centos7 pid]# elasticdump --help
    
    #例子
    Examples:
    # Copy an index from production to staging with mappings:
    #使用映射将索引从生产复制到登台:
    elasticdump \
      --input=http://production.es.com:9200/my_index \
      --output=http://staging.es.com:9200/my_index \
      --type=mapping
    elasticdump \
      --input=http://production.es.com:9200/my_index \
      --output=http://staging.es.com:9200/my_index \
      --type=data
    
    # Backup index data to a file:
    #将索引数据备份到文件:
    elasticdump \
      --input=http://production.es.com:9200/my_index \
      --output=/data/my_index_mapping.json \
      --type=mapping
    elasticdump \
      --input=http://production.es.com:9200/my_index \
      --output=/data/my_index.json \
      --type=data
    
    # Backup and index to a gzip using stdout:
    #使用stdout备份并索引到gzip:
    elasticdump \
      --input=http://production.es.com:9200/my_index \
      --output=$ \
      | gzip > /data/my_index.json.gz
    
    # Backup the results of a query to a file
    #将查询结果备份到文件
    elasticdump \
      --input=http://production.es.com:9200/my_index \
      --output=query.json \
      --searchBody '{"query":{"term":{"username": "admin"}}}'
    
    

    如果报以下错误是因为node版本太低,装个高版本的node

    internal/util.js:214
        throw new errors.TypeError('ERR_INVALID_ARG_TYPE', 'original', 'function');
        ^
    
    TypeError [ERR_INVALID_ARG_TYPE]: The "original" argument must be of type function
        at Object.promisify (internal/util.js:214:11)
        at Object.<anonymous> (/home/cct/node/node-v8.15.0-linux-x64/lib/node_modules/elasticdump/lib/transports/file.js:9:28)
        at Module._compile (module.js:653:30)
        at Object.Module._extensions..js (module.js:664:10)
        at Module.load (module.js:566:32)
        at tryModuleLoad (module.js:506:12)
        at Function.Module._load (module.js:498:3)
        at Module.require (module.js:597:17)
        at require (internal/module.js:11:18)
        at getIo (/home/cct/node/node-v8.15.0-linux-x64/lib/node_modules/elasticdump/lib/ioHelper.js:35:18)
    

    将ES数据导出成file

    #将索引数据备份到文件:
    [root@centos7 pid]#  elasticdump --input=http://10.0.88.175:9200/odc_index --output=/usr/local/pid/odc_index_mapping.json --type=mapping
    [root@centos7 pid]#  elasticdump --input=http://10.0.88.175:9200/odc_index --output=/usr/local/pid/odc_index.json --type=data
    [root@centos7 pid]#  elasticdump --input=http://10.0.88.175:9200/pid_index --output=/usr/local/pid/pid_index_mapping.json --type=mapping
    [root@centos7 pid]#  elasticdump --input=http://10.0.88.175:9200/pid_index --output=/usr/local/pid/pid_index.json --type=data
    
    #将数据文件到索引库:
    [root@centos7 pid]#  elasticdump --input=/usr/local/pid/odc_index_mapping.json --output=http://10.0.88.175:9200/odc_index --type=mapping
    [root@centos7 pid]#  elasticdump --input=/usr/local/pid/odc_index.json --output=http://10.0.88.175:9200/odc_index --type=data
    [root@centos7 pid]#  elasticdump --input=/usr/local/pid/pid_index_mapping.json --output=http://10.0.88.175:9200/pid_index --type=mapping
    [root@centos7 pid]#  elasticdump --input=/usr/local/pid/pid_index.json --output=http://10.0.88.175:9200/pid_index --type=data
    

    相关文章

      网友评论

          本文标题:CentOS7安装并使用ElasticDump——ES的数据迁移

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