zoukankan      html  css  js  c++  java
  • elasticsearch数据备份还原

    elasticsearch数据备份还原



    1.在浏览器中运行http://XXX.XXX.XXX.XXX:9200/_flush,确保索引数据能保存到硬盘中。


    2.原数据的备份。主要是elasticsearch数据目录下的nodes目录的备份。nodes目录为索引数据目录。


    3.将原集群中的每个elasticsearch节点下的data目录拷贝至新的elasticsearch数据目录下。

    4 利用快照来备份还原。

    下面是备份及还原的脚本,分别存成 esback.sh,esrestore.sh,并 chmod 777 esback.sh.给予执行权限

    脚本如下:

    -----自动备份elasticsearch数据并压缩---
    #!/bin/bash
    filename=`date +%Y%m%d%H`
    backesFile=es$filename.tar.gz
    cd /home/elasticsearch/back
    mkdir es_dump
    cd es_dump
    curl -XDELETE 192.168.1.7:9200/_snapshot/backup/$filename?pretty
    echo 'sleep 30'
    sleep 30
    curl -XPUT 192.168.1.7:9200/_snapshot/backup/$filename?wait_for_completion=true&pretty
    echo 'sleep 30'
    sleep 30
    cp /home/elasticsearch/snapshot/* /home/elasticsearch/back/es_dump -rf
    cd ..
    tar czf $backesFile  es_dump/
    rm es_dump -rf 


    -----自动解压并还原elasticsearch数据---
    #!/bin/bash
    filename='XXXXXXX'
    backesFile=es$filename.tar.gz
    cd /home/elasticsearch/back
    tar zxvf $backesFile
    rm /home/elasticsearch/snapshot/* -rf
    cp /home/elasticsearch/back/es_dump/* /home/elasticsearch/snapshot -rf


    curl -XPOST 192.168.1.7:9200/users/_close
    curl -XPOST 192.168.1.7:9200/products/_close
    echo 'sleep 5'
    sleep 5
    curl -XPOST 192.168.1.7:9200/_snapshot/backup/$filename/_restore?pretty -d '{
    "indices":"users"
    }' 
    echo 'sleep 5'
    sleep 5
    curl -XPOST 192.168.1.7:9200/_snapshot/backup/$filename/_restore?pretty -d '{
    "indices":"products"
    }'
    echo 'sleep 5'
    sleep 5
    curl -XPOST 192.168.1.7:9200/users/_open
    curl -XPOST 192.168.1.7:9200/products/_open 
    rm es_dump -rf 

    ---end----

    备份的脚本有几个前提条件

    1 先创建快照存储库

    --创建快照存储库 backup--


    curl -XPUT 192.168.1.7:9200/_snapshot/backup -d '
    {
    "type":"fs",
    "settings":{"location":"/home/elasticsearch/snapshot"}
    }'

    且/home/elasticsearch/snapshot 该目录要有权限

    备份目录  /home/elasticsearch/back要先建好

    还原的时候是按索引来分别还原的,可改成需要的方式

  • 相关阅读:
    cuda、cudnn环境配置
    1.python的 a,b=b,a+b 和 a=b b=a+b 的区别
    例子:循环语句--打印一个菱形
    7.python基础语法--format()函数
    例子:循环语句--九九乘法表
    例子:循环语句--输入N个整数,判断最大值,最小值,和,平均值。
    例子:循环语句--素数问题
    例子:循环语句--打印一个边长为n的正方形。
    例子:循环语句--给定一个不超过5位的正整数,判断该数的位数,依次打印出个位、十位、百位、千位、万位的数字。
    6.python基础语法--循环结构
  • 原文地址:https://www.cnblogs.com/staffyoung/p/6377602.html
Copyright © 2011-2022 走看看