elasticsearch-6.3.0数据备份(单机&集群)

    前段时间在公司研究了一下es6.3的数据备份和还原,今天总结一下,也算整理一下自己的工作内容吧。
因为es提供了非常强大的api支持,备份和恢复也都是基于es提供的api进行的,所以备份恢复功能使用起来也是很简单的。步骤如下:

单机备份恢复:
    第一步:创建es备份仓库
        
        mkdir -p /u2s/backup/elk
        
        curl -H "Content-Type: application/json" -XPUT 'http://127.0.0.1:9200/_snapshot/datasvr' -d '
        {
            "type": "fs",
            "settings": {
                "location": "/u2s/backup/elk",
                "compress": true
            }
        }'

        
        在linux命令行执行上述两条命令,第一条命令创建了数据备份的linux目录,第二条命令创建了一个名为datasvr 存储目录为/u2s/backup/elk 的备份仓库。
        
    第二步:使用第一步创建的仓库备份es数据
    
        curl -XPUT 'http://127.0.0.1:9200/_snapshot/datasvr/'$DATE_YMDHMS'?wait_for_completion=true'
    
        在linux命令行执行上述命令,执行成功则对es数据进行了一次备份,备份名称为 $DATE_YMDHMS (自行定义备份名称)。
        
    第三步:查看备份仓库数据
    
        直接在浏览器中查看备份仓库信息。

        http://192.168.0.187:9200/_snapshot/datasvr/_all


    第四步:恢复数据
        若遇到异常情况需要进行数据恢复时,直接调用api方法即可。
        
        curl -XPOST 'http://127.0.0.1:9200/_snapshot/datasvr/'$DATE_YMDHMS'/_restore?wait_for_completion=true'
        
        在linux命令行执行上述命令,执行成功则完成数据恢复操作, $DATE_YMDHMS 为需要恢复的备份名称 (参考第三步查看备份名称)。
    
集群备份恢复:

    es集群的备份恢复方法和单机模式一样,只不过需要增加一个集群共享目录用来存放备份数据,使所有节点可访问。
    
    第一步:配置集群共享目录。
        ① ubuntu系统下安装sshfs软件
            
            apt-get install sshfs
            
        ② 创建集群共享目录,并将各节点备份目录挂载到共享目录
        
            #创建集群共享目录
            mkdir -p /u2s/backup/elk_share
            #共享目录挂载
            sshfs [email protected]:/u2s/backup/elk_share  /u2s/backup/elk  -o allow_other
    
    第二步:数据备份恢复与单机备份恢复一样,参考单机备份恢复描述。
    

 

ps:建议自行将用到的api封装成shell脚本进行操作较为方便

你可能感兴趣的:(elasticsearch)