近期由于elasticsearch的版本升级,需要研究下elasticsearch的快照(snapshot)和恢复(restore)功能。
 
  先说下背景,目前环境采用的是elasticsearch1.0版本,如果升级2.2版本,数据必须进行迁移,看官方文档给的建议是采用snapshot和restore的api操作。
 
  同时说下elasticsearch2.2版本的启动不可以采用root账号,必须建立单独的账号才可以启动,否则会报以下错误
 
  接下来说下创建备份的过程(es1.0版本的操作):
 
        1. 确保索引数据保存到硬盘中,运行以下命令:
        
       2. 创建备份的目录,如"/opt/es_backups/my_backup",用户需要对该目录拥有读写权限
 
       3. 创建一个仓库(repository),命令:
    4. 备份索引,命令:

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

  

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

    1. 停止es1.0集群的运行,使用kill命令杀掉es相关进程
 
    2. es2.2版本还原1.0版本备份最重要的就是创建1.0版本备份目录相同的仓库,但是从es1.6开始,创建仓库,必须修改elasticsearch.yml文件,增加结点"path.repo",同时,es2.2的运行用户也必须有备份目录的读写权限。
     elasticsearch.yml文件中增加的节点内容为:
     运行创建仓库的命令,和上面备份第3点的命令完全一致。
 
    3. 恢复备份,命令如下:
 
    4. 查看恢复的状态:
 
  参考内容:
03-31 16:09
查看更多