zoukankan      html  css  js  c++  java
  • es 备份与恢复

    一、数据的备份和恢复

    1.1安装es-dump
    第一步:下载node依赖包
    官网下载地址:nodejs.org
    Download | Node.js
    node-v10.16.3-linux-x64.tar.xz
    
    
    第二步解压部署软件
    tar xf  node-v10.16.3-linux-x64.tar.xz -C /opt/node
    mv node-v10.16.3-linux-x64 node
    echo "export PATH=/opt/node/bin:$PATH" >> /etc/profile
    source /etc/profile
    npm -v
    node -v
    
    第三步:指定使用国内淘宝npm源
    npm install -g cnpm --registry=https://registry.npm.taobao.org
    
    第四步:安装es-dump
    cnpm install elasticdump -g
    
    1.2.备份命令
    1)命令参数
    # 常用参数
    --input:数据的来源地址或者文件
    --output:数据导入或到处的目标
    --type:备份的数据的类型(settings, analyzer, data, mapping, alias, template)
    
    2)备份ES数据到另一台ES
    elasticdump 
      --input=http://production.es.com:9200/my_index 
      --output=http://staging.es.com:9200/my_index 
      --type=analyzer
      
    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
    
    3)备份ES数据到json文件
    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
    
    4)导出ES数据并打包
    elasticdump 
      --input=http://production.es.com:9200/my_index 
      --output=$ 
      | gzip > /data/my_index.json.gz
    
    5)指定条件进行备份
    elasticdump 
      --input=http://production.es.com:9200/my_index 
      --output=query.json 
      --searchBody="{"query":{"term":{"username": "admin"}}}"
    

    4.导入命令

    1)导入json文件到ES

    elasticdump 
      --input=./alias.json 
      --output=http://es.com:9200 
      --type=alias
      
    # 注意:导入数据时,如果已存在相同的数据,会覆盖原来的数据,如果不存在则无影响
    
    5.备份脚本
    #!/bin/bash
    echo '要备份的机器是:'${1}
    index_name='
    test_2020-11-30
    student
    linux7
    '
    for index in `echo $index_name`
    do
    	echo "start input index ${index}"
    	elasticdump --input=http://${1}:9200/${index} --output=/data/${index}_alias.json --type=alias &> /dev/null
    	elasticdump --input=http://${1}:9200/${index} --output=/data/${index}_analyzer.json --type=analyzer &> /dev/null
    	elasticdump --input=http://${1}:9200/${index} --output=/data/${index}_data.json --type=data &> /dev/null
    	elasticdump --input=http://${1}:9200/${index} --output=/data/${index}_alias.json --type=alias &> /dev/null
    	elasticdump --input=http://${1}:9200/${index} --output=/data/${index}_template.json --type=template &> /dev/null
    done
    
    6.导入数据脚本
    #!/bin/bash
    echo '要导入的机器是:'${1}
    index_name='
    test
    student
    linux7
    '
    for index in `echo $index_name`
    do
        echo "start input index ${index}"
        elasticdump --input=/data/${index}_alias.json --output=http://${1}:9200/${index} --type=alias &> /dev/null
        elasticdump --input=/data/${index}_analyzer.json --output=http://${1}:9200/${index} --type=analyzer &> /dev/null
        elasticdump --input=/data/${index}_data.json --output=http://${1}:9200/${index} --type=data &> /dev/null
        elasticdump --input=/data/${index}_template.json --output=http://${1}:9200/${index} --type=template &> /dev/null
    done
    
  • 相关阅读:
    C# Debugger.IsAttached 调试启动浏览器 VS if DEBUG 启动调试内容
    【转载】如何三个月从零基础到C#中级程序员
    【转载】如何成为一个高级程序员
    如何找回QQ聊天记录、语音、图片?
    hexo博客yili主题个性化自定义教程(1) ——借鉴中学习,初认yili主题
    2019hexo博客部署到coding该绕的坑-奥怪的小栈
    2019Hexo博客Next主题深度美化 打造一个炫酷博客(2)-奥怪的小栈
    2019软件工程专业大学排名附官网-奥怪的小栈
    浅谈互联网+足球
    2019基于Hexo快速搭建个人博客,打造一个炫酷博客(1)-奥怪的小栈
  • 原文地址:https://www.cnblogs.com/xiaolang666/p/14077743.html
Copyright © 2011-2022 走看看