近期由于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

elasticsearch1.0 升级2.2的数据备份和恢复的更多相关文章

  1. InfluxDB数据备份和恢复方法,支持本地和远程备份

    本文属于<InfluxDB系列教程>文章系列,该系列共包括以下 17 部分: InfluxDB学习之InfluxDB的基本概念 InfluxDB学习之InfluxDB的基本操作 Influ ...

  2. tableau server 数据备份及恢复

    tableau server 数据备份及恢复 一.数据备份 1> win+r,进入到dos命令行模式 2> 进入到tableau server的bin路径下 cd C:\Program F ...

  3. redis入门(15)redis的数据备份和恢复

    redis入门(15)redis的数据备份和恢复

  4. Salesforce 数据备份和恢复小知识

    数据备份的类型 在Salesforce中可以使用多种API进行数据备份,它们是: REST API SOAP API Buik API Metadata API 数据备份有三种选择: 完全备份(Ful ...

  5. innobackupex不停库的数据备份并恢复到别的服务器上【转】

    1.innobackupex原理: 备份原理 1).首先会开启一个后台检测进程,实时检测myql redo的变化,一旦发现redo中有新日志写入,立即将日志记入后台日志文件xtrabackup_log ...

  6. Oracle 数据备份、恢复以及导入时表空间不存在的解决方案

    一.数据备份(导出) 1.exp命令导出dmp文件(exp -help查看帮助信息) 命令:exp username/userpasswd@192.168.99.199/orcl file=C:\jd ...

  7. HBase数据备份及恢复(导入导出)的常用方法

    一.说明 随着HBase在重要的商业系统中应用的大量增加,许多企业需要通过对它们的HBase集群建立健壮的备份和故障恢复机制来保证它们的企业(数据)资产.备份Hbase时的难点是其待备份的数据集可能非 ...

  8. mysql数据备份及恢复

    备份工具 mysqldump mysqldump是mysql和mariadb上最好的备份工具之一,免费开源. mysqldump 首先查询每个数据库和每个表的结构与数据,然后把查出的所有内容导出到文本 ...

  9. 涂抹mysql笔记-数据备份和恢复

    <>物理备份和逻辑备份<>联机备份和脱机备份<>本地备份和远程备份<>完整备份和增量备份<>完整恢复和增量恢复<>复制表相关文件 ...

随机推荐

  1. sublime text多文件夹查找关键字

    Ctrl+shift+F 快捷键在文件夹内查找,与普通编辑器不同的地方是sublime允许添加多个文件夹进行查找 转自:http://www.douban.com/note/362268947/

  2. Kmin

    Kmin of Array [本文链接] http://www.cnblogs.com/hellogiser/p/kmin-of-array.html [代码]  C++ Code  12345678 ...

  3. ubuntu dpkg 命令详解

    linux的包管理有多种,除了rpm,apt等还有优秀的dpkg,下面是dpkg命令的详细使用教程,希望对你有用.deb包的管理是比较优秀的包管理工具,用的linux系统有 debian ubuntu ...

  4. Cocos2d-JS游戏导演

    什么是游戏的导演 具体来说,Cocos2d-JS中的导演是一个对象,它负责设置游戏的运行环境,控制游戏的住循环并且管理场景和场景的切换. 导演的任务 Cocos2d-JS中导演对象名为:cc.dire ...

  5. 膜拜(codevs 3369)

    3369 膜拜  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 神牛有很多…当然…每个同学都有自己衷心膜拜的 ...

  6. MVC准备前基础知识

    一.自动属性C#自动属性可以避免原来这样我们手工声明一个私有成员变量以及编写get/set逻辑public class Product{ public int Id { get; set; } pub ...

  7. sizeof(class)

    //#define _REENTRANT //#define _POSIX_C_SOURCE #include <iostream> #include <string> #in ...

  8. linux 禁止ping

    [root@86 sysconfig]# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all #关闭ping [root@86 sysconfig] ...

  9. nginx打开目录浏览

    server { listen 80; server_name localhost; index index.html index.htm index.php; autoindex on; #开启ng ...

  10. 电赛菜鸟营培训(零)——Keil环境搭建

    一.Keil开发软件安装 1.安装keil软件 2.使用注册机进行破解 将方框内的ID号复制到注册机,然后得到License,放到最底下就可以完成了. 二.Keil工程搭建 表示参考数据手册,在这里建 ...