工作步骤:

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. 第30课 Qt中的文本编辑组件

    1. 3种常用的文本编辑组件的比较 单行文本支持 多行文本支持 自定义格式支持 富文本支持 QLineEdit (单行文本编辑组件) Yes No No No QPlainTextEdit (多行普通 ...

  2. AC日记——石头剪子布 openjudge 1.7 04

    04:石头剪子布 总时间限制:  1000ms 内存限制:  65536kB 描述 石头剪子布,是一种猜拳游戏.起源于中国,然后传到日本.朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风 ...

  3. 利用 Process Monitor 找出某个 Windows 选项所对应的注册表值

    多 时候我们要调整一项 Windows 的功能时只需更改一下注册表即可实现.而很多大家眼中所谓的高手,对 Windows 注册表更是玩得出神入化.难道这些高手把 Windows 注册表都记下来了?答案 ...

  4. cache缓存

    缓存分为:数据缓存,页面缓存,内存缓存(memcache,redis) ob,输出缓冲区,是output buffering的简称 FileCache.php <?php //本文件用来存储和读 ...

  5. IOS第四课——Autolayout_View

    这节课,我们要学习MVC.Selector.Access Control.Extension.Auto Layout.Delegate-Protocol.Custom View. Auto Layou ...

  6. BZOJ 1101: [POI2007]Zap

    1101: [POI2007]Zap Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2262  Solved: 895[Submit][Status] ...

  7. Docker 总结(转载)

    原文链接:http://blog.tankywoo.com/docker/2014/05/08/docker-4-summary.html 查看docker的子命令,直接敲docker或完整的dock ...

  8. linux下安装安装pcre-8.32 configure: error: You need a C++ compiler for C++ support

    linux下安装安装pcre-8.32./configure --prefix=/usr/local/pcre 出现以下错误configure: error: You need a C++ compi ...

  9. Markdown:认识&入门

    来源:http://sspai.com/25137 一.认识 Markdown 在刚才的导语里提到,Markdown 是一种用来写作的轻量级「标记语言」,它用简洁的语法代替排版,而不像一般我们用的字处 ...

  10. 利用javascript对提交数据验证

    优点:提交前验证.在客户端进行. <html> <head> <script language="javascript"> function c ...