elasticsearch 使用快照进行备份
Elasticsearch也提供了备份集群中索引数据的策略——snapshot API.
它会备份整个集群的当前状态和数据,并保存到集群中各个节点共享的仓库中。
这个备份的进程是增量备份的,在第一次备份的基础上进行的第二次备份只备份新变化的数据。
创建elasticsearch快照进行备份。
1、 建立NFS文件共享服务
2、修改elasticsearch配置文件elasticsearch.yml,path.repo: **共享目录挂载的路径**,
3、创建快照仓库
4、创建快照
5、恢复快照到elasticsearch集群
建立NFS文件共享服务
服务端:
1、 安装NFS服务软件:
yum install rpcbind nfs-utils -y
2、 建立需要共享的目录,并修改文件权限为666, client用户访问id,在server中有,且对共享文件夹有rw权限。
mkdir /udisk/elasticsnapshot
chmod /udisk/elasticsnapshot -R
3、修改NFS服务配置文件, /etc/exports
/udisk/elasticsnapshot 10.9.121.211/(rw,sync,all_squash) 10.9.134.110/(rw,sync,all_squash) 10.9.90.103/(rw,sync,all_squash) 10.19.36.230/(rw,sync,all_squash) 10.19.63.103/(rw,sync,all_squash)
# /udisk/elasticsnapshot 为共享的目录, 10.9.121.211/ 为可以挂载此共享目录的IP,
# 参数说明:
# rw ro 该目录分享的权限是可擦写 (read-write) 或只读 (read-only),但最终能不能读写,还是与文件系统的 rwx 及身份有关。
# sync async sync 代表数据会同步写入到内存与硬盘中,async 则代表数据会先暂存于内存当中,而非直接写入硬盘!
# no_root_squash root_squash 客户端使用 NFS 文件系统的账号若为 root 时,系统该如何判断这个账号的身份?预设的情况下,客户端 root 的身份会由 root_squash 的设定压缩成 nfsnobody, 如此对服务器的系统会较有保障。但如果你想要开放客户端使用 root 身份来操作服务器的文件系统,那么这里就得要开 no_root_squash 才行!
# all_squash 不论登入 NFS 的使用者身份为何, 他的身份都会被压缩成为匿名用户,通常也就是 nobody(nfsnobody) 啦!
# anonuid anongid anon 意指 anonymous (匿名者) 前面关于 *_squash 提到的匿名用户的 UID 设定值,通常为 nobody(nfsnobody),但是你可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于你的 /etc/passwd 当中! anonuid 指的是 UID 而 anongid 则是群组的 GID 啰。
4、 配置生效 exportfs -r
5、 启动服务
systemctl start rpcbind
systemctl start nfs
客户端:
1、安装客户端软件:
yum install nfs-utils -y
2、新建挂载目录:mkdir /mnt/es
3、挂载共享目录: **为了提高NFS的稳定性,使用TCP协议挂载,NFS默认用UDP协议**
mount -t nfs 10.10.10.10:/udisk/elasticsnapshot /mnt/es -o proto=tcp -o nolock
4、每台ES机器为客户端,进行客户端配置
修改elasticsearch的配置文件elasticsearch.yml,添加下面配置,并重启
path.repo: '/mnt/es'
创建快照仓库
PUT /_snapshot/my_backup
{
"type": "fs",
"settings": {
"location": "/mnt/es",
"compress": true, # 是否压缩
"max_snapshot_bytes_per_sec": "50mb",
"max_restore_bytes_per_sec": "50mb"
}
}
创建快照
PUT /_snapshot/my_backup/back---
{
"indices": "*", # * 表示所有index, 可以具体写哪些"logstash-iis-2017-01-07,logstash-httperr-2017-01-07",
"ignore_unavailable": true,
"include_global_state": false
}
上面的代码会将所有正在运行的索引,备份到my_backup仓库下一个叫snapshot_1的快照中。上面的api会立刻返回,然后备份工作在后台运行。如果你想api同步执行,可以加wait_for_completion标志:
PUT /_snapshot/my_backup/snapshot_1?wait_for_completion=true
查看快照
get _snapshot/my_backup/back---
# 会出现一下结果
{
"snapshots": [
{
"snapshot": "logstash-2017-01-07",
"uuid": "0XM7X-HcR4u9Ou7-Gjzj5w",
"version_id": ,
"version": "5.0.2",
"indices": [
"logstash-iis-2017-01-07",
"logstash-httperr-2017-01-07"
],
"state": "SUCCESS",
"start_time": "2017-01-09T09:04:03.983Z",
"start_time_in_millis": ,
"end_time": "2017-01-09T09:05:37.524Z",
"end_time_in_millis": ,
"duration_in_millis": ,
"failures": [],
"shards": {
"total": ,
"failed": ,
"successful":
}
}
]
}
1、查看所有索引的信息,使用如下api:
GET http://127.0.0.1:9200/_snapshot/my_backup/_all
2、另外还有个一api可以看到更加详细的信息:
GET http://127.0.0.1:9200/_snapshot/my_backup/snapshot_3/_status
快照恢复
post /_snapshot/my_backup/logstash---/_restore
1、 此api额外参数:
POST http://127.0.0.1:9200/_snapshot/my_backup/snapshot_1/_restore
{
"indices": "index_1",
"rename_pattern": "index_(.+)",
"rename_replacement": "restored_index_$1"
}
参数indices 设置只恢复index_1索引,参数rename_pattern 和rename_replacement 用来正则匹配要恢复的索引,并且重命名。和备份一样,api会立刻返回值,然后在后台执行恢复,使用wait_for_completion 标记强制同步执行。
2、 另外可以使用下面两个api查看状态:
GET http://127.0.0.1:9200/_recovery/restored_index_3
GET http://127.0.0.1:9200/_recovery/
3 取消恢复: 如果要取消恢复过程(不管是已经恢复完,还是正在恢复),直接删除索引即可
elasticsearch 使用快照进行备份的更多相关文章
- es快照和备份
注册前要注意配置文件加上 path.repo: ["/data/es_backup"] 然后重启es 不然会报错doesn't match any of the locations ...
- mysql数据库基于LVM快照的备份
lvm-snapshot: 基于LVM快照的备份 1.事务日志跟数据文件必须在同一个卷上 2.创建快照卷之前,要请求mysql的全局锁,在快照创建完成之后释放锁 3 ...
- MySQL的备份和恢复-基于LVM快照的备份(lvm-snapshot)
MySQL的备份和恢复-基于LVM快照的备份(lvm-snapshot) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是快照卷 如上图所示,原卷和快照卷可以不一样大,因为 ...
- 快照方式备份MySQL数据库及举例
快照方式备份MySQL数据库及举例 作者: 红豆殺 日期: 2011 年 03 月 17 日发表评论7条评论查看评论 一.创建逻辑卷 依照如下连接的文档创建一个逻辑卷 http://www.178 ...
- 将Elasticsearch的快照备份到HDFS
1.安装Elasticsearch插件repository-hdfs 下载地址:https://artifacts.elastic.co/downloads/elasticsearch-plugins ...
- elasticsearch snapshot快照备份和恢复
环境:mac 使用brew 安装elasticsearch 1.在 /usr/local/etc/elasticsearch/elasticsearch.yml 文件中配置快照地址 p ...
- Elasticsearch的快照备份
该文档适用于备份使用NAS的仓库类型.所有Elasticsearch集群中的服务通过挂载NAS目录来存放备份快照数据. 1.创建备份仓库 创建一个仓库名称:backup curl -H "C ...
- Elasticsearch 简单快照备份
创建仓库 POST http://10.10.14.201:9200/_snapshot/backup { "type": "fs", "settin ...
- centos下Elasticsearch数据迁移与备份
########### ### 共享创建es官方网站就一句话 ######## 1.下载 文件共享 .. rpm -i http://mirror.symnds.com/distributions ...
随机推荐
- 改变FileUpload文件上传控件的显示方式,选择文件后自动上传
一.Aspx页面: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="File ...
- 第八节 JS运动基础
运动基础 让Div运动起来 速度——物体运动的快慢 运动中的Bug 不会停止 速度取某些值会无法停止 到达位置后再点击还会运动 重复点击速度加快 匀速运动(速度不变) 运动框架及应用: 运动框架: 在 ...
- 9个顶级开发IoT项目的开源物联网平台
https://blog.csdn.net/shnbiot/article/details/80432017 物联网(IoT)是帮助人工智能(AI)以更好的方式控制和理解事物的未来技术. 我们收集了一 ...
- [c/c++] programming之路(19)、数组指针
一.指针运算 #include<stdio.h> #include<stdlib.h> void main0(){ ; int *p=&a; printf());//变 ...
- python scrapy baidu image【转】
原 https://github.com/vivianLL/baidupictures #!/usr/bin/env Python # coding=utf-8 #__author__ = 'leil ...
- CMD控制器常用命令
dir 查看当前路径文件cd..返回上一级路径cd 转到指定的文件夹 \n 将光标移动到下一行的第一格 \t 将光标移动到下一个水平制表位置 mspaint 画图 编译源代码 javac HelloW ...
- 20175312 2018-2019-2 《Java程序设计》第5周学习总结
20175312 2018-2019-2 <Java程序设计>第5周学习总结 教材学习内容总结 已依照蓝墨云班课的要求完成了第六章的学习,主要的学习渠道是PPT,和书的课后习题. 总结如下 ...
- 深度学习课程笔记(十八)Deep Reinforcement Learning - Part 1 (17/11/27) Lectured by Yun-Nung Chen @ NTU CSIE
深度学习课程笔记(十八)Deep Reinforcement Learning - Part 1 (17/11/27) Lectured by Yun-Nung Chen @ NTU CSIE 201 ...
- Kaggle比赛NCFM图像分类任务简介
为了保护和监控海洋环境及生态平衡,大自然保护协会(The Nature Conservancy)邀请Kaggle社区的参赛者们开发能够出机器学习算法,自动分类和识别远洋捕捞船上的摄像头拍摄到的图片中鱼 ...
- 获取经纬度之间两点间真实距离(适用于GoogleMap,BaiduMap,Amap等)
如何获取经纬度之间两点间真实距离(适用于GoogleMap,BaiduMap,Amap等) 目标:使用百度定位sdk开发实时移动距离计算功能,根据经纬度的定位,计算行驶公里数并实时刷新界面显示.大家 ...