• ELK之elasticdump迁移es数据


      参考:https://www.cnblogs.com/resn/p/9082663.html

      elasticsearch部分查询语句

      获取集群节点列表

    curl "172.16.30.55:9200/_cat/nodes?v"
    

      

      列出所有索引

    curl "172.16.30.55:9200/_cat/indices?v"

      如果节点安装了search guard认证使用以下命令

    curl "https://admin:admin@172.16.30.55:9200/_cat/indices?v" -k
    

      -k取消证书验证而使用用户名和密码验证

      安装elasticdump

    wget https://nodejs.org/dist/v8.11.2/node-v8.11.2-linux-x64.tar.xz
    
    tar xf node-v8.11.2-linux-x64.tar.xz 
    
    mv node-v8.11.2-linux-x64 /usr/local
    
    ln -s /usr/local/node-v8.11.2-linux-x64/bin/npm /usr/local/bin/npm
    
    ln -s /usr/local/node-v8.11.2-linux-x64/bin/node /usr/local/bin/node
    
    npm init -f
    
    npm install elasticdump
    

      修改文件增加以下内容/etc/profile

    export NODE_HOME=/usr/local/node-v8.11.2-linux-x64
    export PATH=$PATH:$NODE_HOME/bin:/opt/node_modules/elasticdump/bin
    export NODE_PATH=$NODE_HOME/lib/node_modules
    

      设置生效

    source /etc/profile
    

      数据迁移

      数据通过网络进行迁移 从主机172.16.30.55迁移至172.16.30.56

    #拷贝映射
    elasticdump 
    --input=http://172.16.30.55:9200/nginx-prod-log-2019.02 
    --output=http://172.16.30.55:9200/nginx-prod-log-2019.02 
    --type=mapping 
    #拷贝数据 elasticdump  
    --input=http://172.16.30.55:9200/nginx-prod-log-2019.02  
    --output=http://172.16.30.56:9200/nginx-prod-log-2019.02  
    --type=data
    

      

      如果网络不好或者没有网络还可以先备份到文件

    #备份映射
    elasticdump 
    --input=http://172.16.30.55:9200/nginx-prod-log-2019.02 
    --output=/tmp/nginx-prod-log_mapping.json 
    --type=mapping
    
    #备份数据
    elasticdump 
    --input=http://172.16.30.55:9200/nginx-prod-log-2019.02 
    --output=/tmp/nginx-prod-log_data.json 
    --type=data
    

      通过备份文件恢复数据

    #恢复映射
    elasticdump 
    --input=/tmp/nginx-prod-log_mapping.json 
    --output=http://172.16.30.55:9200/ 
    
    #恢复数据
    elasticdump 
    --input=/tmp/nginx-prod-log_data.json  
    --output=http://172.16.30.55:9200/ 
    

      

      加密的数据迁移 当客户端使用search guard进行加密时候数据迁移命令格式如下

    #前面加参数,后面https加入用户名和密码即可
    NODE_TLS_REJECT_UNAUTHORIZED=0  elasticdump --input=http://172.16.90.11:9200/try_on_2019.03 --output=https://admin:admin@172.16.30.11:9200/try_on_2019.03   --type=mapping
    NODE_TLS_REJECT_UNAUTHORIZED=0  elasticdump --input=http://172.16.90.11:9200/try_on_2019.03 --output=https://admin:admin@172.16.30.11:9200/try_on_2019.03   --type=data 
    

      PS:同理如果是output端是search guard加密也是在前面加参数然后把http改成https后面在加用户名和密码认证

      从备份好的json文件恢复至加密的elasticsearch命令格式如下

    NODE_TLS_REJECT_UNAUTHORIZED=0 elasticdump --input=mapping20190610/on_the_ark_2019.02_mapping.json --output=https://root:password@172.16.30.11:9200
    NODE_TLS_REJECT_UNAUTHORIZED=0 elasticdump --input=data20190610/96_stock_data.json --output=https://root:password@172.16.30.11:9200/
    

      

      PS:输入不需要加密认证,输出不需要加--type参数

  • 相关阅读:
    输出控制符的详解
    printf函数的讲解
    关于字节、Ascll码、字符的存储的讲解
    1.2
    1.1
    OS模块学习笔记
    time时间模块总结
    编译py为exe
    python计算excel平均值和标准差
    Python与Excel交互--Xlwings
  • 原文地址:https://www.cnblogs.com/minseo/p/10374210.html
Copyright © 2020-2023  润新知