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
  • 相关阅读:
    【Linux高频命令专题(7)】rm
    【Linux高频命令专题(6)】mkdir
    【mongoDB运维篇①】用户管理
    【Linux高频命令专题(5)】rmdir
    【mongoDB中级篇②】索引与expain
    【mongoDB中级篇①】游标cursor
    Lua中的字符串函数库
    ngx_lua 随笔
    Nginx与Lua
    MAC 上搭建lua
  • 原文地址:https://www.cnblogs.com/muzhiye/p/elasticsearch_snapshot_restore.html
Copyright © 2011-2022 走看看