zoukankan      html  css  js  c++  java
  • elasticsearch1.0 升级2.2的数据备份和恢复

      近期由于elasticsearch的版本升级,需要研究下elasticsearch的快照(snapshot)和恢复(restore)功能。
     
      先说下背景,目前环境采用的是elasticsearch1.0版本,如果升级2.2版本,数据必须进行迁移,看官方文档给的建议是采用snapshot和restore的api操作。
     
      同时说下elasticsearch2.2版本的启动不可以采用root账号,必须建立单独的账号才可以启动,否则会报以下错误
      Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.
     
      接下来说下创建备份的过程(es1.0版本的操作):
     
            1. 确保索引数据保存到硬盘中,运行以下命令:
                curl -X 'localhost:9200/_flush'
            
           2. 创建备份的目录,如"/opt/es_backups/my_backup",用户需要对该目录拥有读写权限
     
           3. 创建一个仓库(repository),命令:
        curl -X PUT 'localhost:9200/_snapshot/my_backup' -d '        
        {
                  "type": "fs",
                  "settings": {
                  "compress": "true",
                  "location": "/opt/es_backups/my_backup"
                  }
             }' 
        4. 备份索引,命令:
        curl -X PUT 'localhost:9200/_snapshot/my_backup/snapshot_1?waif_for_comletion=true'

        5. 查看备份状态,命令:

        curl -X GET 'localhost:9200/_snapshot/my_backup/snapshot_1?pretty'

        curl -X GET 'localhost:9200/_snapshot/my_backup/snapshot_1/_status?pretty'

      

      恢复备份的过程(es2.2版本的操作):

        1. 停止es1.0集群的运行,使用kill命令杀掉es相关进程
     
        2. es2.2版本还原1.0版本备份最重要的就是创建1.0版本备份目录相同的仓库,但是从es1.6开始,创建仓库,必须修改elasticsearch.yml文件,增加结点"path.repo",同时,es2.2的运行用户也必须有备份目录的读写权限。
         elasticsearch.yml文件中增加的节点内容为:
        path.repo: ["/opt/es_backups"]    
         运行创建仓库的命令,和上面备份第3点的命令完全一致。
     
        3. 恢复备份,命令如下:
        curl -X POST 'localhost:9200/_snapshot/my_backup/snapshot_1/_restore?pretty'
     
        4. 查看恢复的状态:
          curl -X GET 'localhost:9200/_recovery?pretty'
     
      参考内容:
      Scripting and Security:https://www.elastic.co/blog/scripting-security
  • 相关阅读:
    restful规范以及drf框架
    vue的第三方插件,vuex,axios,element-ui ,jq+bs
    路由,生命周期钩子函数,数据间的交互,全局配置js与css
    实例成员补充,项目环境配置以及vue组件
    vue指令实例成员
    初识vue
    django中如何暴露后端任意文件资源
    django中间件以及请求生命流程图
    wraps修饰器
    cookie与session
  • 原文地址:https://www.cnblogs.com/muzhiye/p/elasticsearch_snapshot_restore.html
Copyright © 2011-2022 走看看