工作步骤:

1:建立备份快照数据挂载点,即共享文件目录(Shared Filesystem);

2:建立快照仓储repository;

3:建立snapshot快照备份;

4:恢复snapshot快照数据;


1:建立数据挂载点

1)ES所有节点安装sshfs,可通过yum源安装,依赖epel;

2)安装sshfs后,规划共享目录挂载点,并确定目标挂载点,注意这里要为每个节点的共享目录分配读写权限,如不确定,直接chmod 777 -共享目录路径;

3)通过如下指令挂载共享目录至目标主机路径:

#sshfs root@10.200.XX.XXX:/data1/esdata /data1/backups -o allow_other

指令里的【用户名@IP地址:路径】为实际挂载节点路径及用户,后一个路径为本地节点挂载路径;

4)将ES每个节点上的相同路径均挂载至远端的同一地址,完毕后确认已将所有节点的备份目录挂载为同一目标主机的路径下;


2:建立快照仓储repository

1)通过es的api建立仓储,注意body内容的单引号别丢了否则会报400 bad request

#curl -XPUT http://10.200.XXX.XXX:9200/_snapshot/backup_38 -d

'{

    "type": "fs",

    "settings":

    {

      "compress": true,

      "location": "/data1/backups"    # 这里的路径就是第1步里建立的共享目录挂载路径

    }

  }'

执行后返回200则为成功建立;

2)通过API可获取刚才建立的repository:

  #curl http://10.200.XXX.XXX:9200/_snapshot/backup_38

正确返回repository信息则通过。

2016-12-5 补充:在创建仓储过程中可能会提示如下错误说repository不在repos:

需要在elasticsearch集群中每个节点的配置文件(/etc/elasticsearch/elasticsearch.yml)中加入如下配置项:

path.repo: ["/data1/backups"]

其中指定的repo路径为节点本地挂载点的路径(指向远端共享目录)


3:建立snapshot快照备份

1)通过ES的API建立snapshot:

#curl -XPUT http://10.200.XXX.XXX:9200/_snapshot/backup_38/snapshot_20160628 -d

'{
  "indices": "ld.*.stats,ld.log-*",

  "ignore_unavailable": true,

  "include_global_state": false

}'

这里的参数分别指定需要快照的index(支持*通配符),遇到不可用的index的策略(ignore),以及选择不备份公共信息。

2)验证快照

#curl http://10.200.XXX.XXX:9200/_snapshot/backup_38/snapshot_20160628 | python -mjson.tool

正常情况下将返回刚才建立的快照信息。


4:恢复snapshot快照数据

1)拷贝备份文件

文件服务器(及所有ES节点挂载的文件系统指向的地址)挂载目录下的内容都属于需要备份的内容,如下图所示:

2)建立共享文件系统

  • 在拷贝了备份快照信息的主机上以相同的方式建立共享系统,步骤与之前相同;

3)建立快照仓储repository

  • 以同样的方式建立仓储repository;

4)数据恢复

以下列的API来恢复数据:

curl -XPOST http://192.168.0.1:9200/snapshot/backup_38/snapshot_20160628/_restore

也可以通过加入如下参数来定制恢复:

{
"indices": "index1",
"rename_pattern": "index_(.+)",
"rename_replacement": "restored_index_$1"
}

5)查看数据恢复进度

curl -XGET http://192.168.0.1:9200/snapshot/backup_38/snapshot_20160628/status

注:

数据恢复后,需要注意数据恢复的目标ES集群的插件情况(如IK分词插件)需要与原集群保持一致,恢复后通过关闭索引(head插件直接可以关闭)并启用,即可重新建立恢复后的索引。

ElasticSearch快照备份及恢复的更多相关文章

  1. 【ELK】Elasticsearch的备份和恢复

    非原创,只是留作自己查询使用,转自http://keenwon.com/1393.html Elasticsearch的备份和恢复 备份 Elasticsearch的一大特点就是使用简单,api也比较 ...

  2. elasticsearch snapshot快照备份和恢复

    环境:mac   使用brew 安装elasticsearch   1.在 /usr/local/etc/elasticsearch/elasticsearch.yml 文件中配置快照地址     p ...

  3. elasticsearch的备份和恢复(转)

    vim /etc/elasticsearch/elasticsearch.yml path.repo: ["/data/backups/es_backup"] #备份目录,根据自己 ...

  4. ELK数据迁移,ES快照备份迁移

    通过curl命令或者kibana快照备份,恢复的方式进行数据迁移 环境介绍 之前创建的ELK 因为VPC环境的问题,需要对ELK从新部署,但是还需要保留现有的数据,于是便有了这篇文档. 10.0.20 ...

  5. 将Elasticsearch的快照备份到HDFS

    1.安装Elasticsearch插件repository-hdfs 下载地址:https://artifacts.elastic.co/downloads/elasticsearch-plugins ...

  6. elasticsearch快照和恢复

    摘要:es可以通过简单的命令对索引或者整个集群进行快照和恢复 快照和恢复 Snapshot and restore 模块允许创建单个索引或者整个集群的快照到远程仓库. 在初始版本里只支持共享文件系统的 ...

  7. MySQL的备份和恢复-基于LVM快照的备份(lvm-snapshot)

    MySQL的备份和恢复-基于LVM快照的备份(lvm-snapshot) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是快照卷 如上图所示,原卷和快照卷可以不一样大,因为 ...

  8. Elasticsearch snapshot 备份的使用方法 【备忘】

    常见的数据库都会提供备份的机制,以解决在数据库无法使用的情况下,可以开启新的实例,然后通过备份来恢复数据减少损失.虽然 Elasticsearch 有良好的容灾性,但由于以下原因,其依然需要备份机制. ...

  9. Elasticsearch 快照生命周期管理 (SLM) 实战指南

    文章转载自:https://mp.weixin.qq.com/s/PSfgPJc4dKN2pOZd0Y02wA 1.Elasticsearch 保证高可用性的方式 Elasticsearch 保证集群 ...

随机推荐

  1. 代码覆盖率工具 EMMA

    使用 EMMA 获得功能测试覆盖率 测试覆盖率是评价测试完整性的重要的度量标准之一. EMMA 是一个面向 Java 代码的测试覆盖率收集工具.在测试过程中,使用 EMMA 能使收集和报告测试覆盖率的 ...

  2. 转:设置Eclipse中的tab键为4个空格的完整方法

    from: https://my.oschina.net/xunxun10/blog/110074   设置Eclipse中的tab键为4个空格的完整方法 收藏 XunXun10 发表于 4年前 阅读 ...

  3. PPT文档页数显示的增加和更新

    在PPT的右下角增加页数的显示能够帮助演讲者把握进度,所以会经常遇到需要把页数显示在右下角的情况,这次在制作ppt的时候也遇到了.因此在这里总结一下设置方法. 一.在右下角显示当前页数和总页数 1)获 ...

  4. 浅析MySQL数据碎片的产生(data free)

    浅析MySQL数据碎片的产生 2011-03-30 09:28 核子可乐译 51CTO 字号:T | T MySQL列表,包括MyISAM和InnoDB这两种最常见的类型,而根据经验来说,其碎片的产生 ...

  5. 【BZOJ 1001】[BeiJing2006]狼抓兔子

    Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的,而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个 ...

  6. Inline Workers--Web workers without a separate Javascript file

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head&g ...

  7. mysql查看数据库和表的占用空间大小

    mysql查看数据库和表的占用空间大小   第一部分-任务 将线上db,导出后,导入到office db 一. 两种方案: 1,将数据直接从online-->office,通过mysqldump ...

  8. JAVA格物致知开篇:凡事预则立不预则废

    在我的这一生中,我发现我做事的方式可以用一句话概括:凡事预则立,不预则废.这么多年,我一直秉承着要做有准备的事情,不打无准备之仗的道理来过活.其实这样会让我的妻子非常的烦恼,她是乐天派,喜欢事情来了才 ...

  9. Pattern Recognition And Machine Learning读书会前言

    读书会成立属于偶然,一次群里无聊到极点,有人说Pattern Recognition And Machine Learning这本书不错,加之有好友之前推荐过,便发了封群邮件组织这个读书会,采用轮流讲 ...

  10. 从炉石传说的一个自杀OTK说起

    OTK就是one turn kill,不过这次我们要谈的OTK是自杀,对就是自己把自己给OTK了. 其实程序没有任何错误,只是恰巧碰上了这么个死循环. ps:文章最后有代码git地址 发动条件及效果: ...