elasticsearch snapshot
一、Repositories
在elasticsearch.yml文件中增加path.repo路径配置:
$ vim /etc/elasticsearch/elasticsearch.yml
path.repo: ["/home/ccx/es/backups", "/mount/longterm_backups"]
重启elasticsearch
$ service elasticsearch restart
创建文件夹作为repository的目录,并修改文件夹权限
$ mkdir -p /home/ccx/es/backups
$ chmod 755 /home/ccx/es/backups/
$ chown elasticsearch:elasticsearch /home/ccx/es/backups/
创建repository
$ curl -XPUT 'http://192.168.212.190:9200/_snapshot/my_backup' -d '{
"type": "fs",
"settings": {
"location": "/home/ccx/es/backups/my_backup",
"compress": true
}
}'
查看repository信息
$ curl -XGET 'http://192.168.212.190:9200/_snapshot/my_backup?pretty'
可以使用POST 请求,用来修改已经存在的repository
$ curl -XPOST 'http://192.168.212.190:9200/_snapshot/my_backup' -d '{
"type": "fs",
"settings": {
"location": "/home/ccx/es/backups/my_backup",
"max_snapshot_bytes_per_sec" : "50mb",
"max_restore_bytes_per_sec" : "50mb"
}
}'
二、Snapshot
创建快照
备份工作在后台运行
$ curl -XPUT 'http://192.168.212.190:9200/_snapshot/my_backup/snapshot_1'
同步执行,加wait_for_completion 标志,备份完成后才返回,如果数据量大的话,会花很长时间
$ curl -XPUT 'http://192.168.212.190:9200/_snapshot/my_backup/snapshot_2?wait_for_completion=true'
如果只想备份部分索引的话,可以加上indices 参数:
$ curl -XPUT 'http://192.168.212.190:9200/_snapshot/my_backup/snapshot_3' -d '{
"indices": "index_1,index_2",
"ignore_indices": "missing"
}'
查看备份信息
$ curl -XGET 'http://192.168.212.190:9200/_snapshot/my_backup/snapshot_2'
如果要查看所有索引的信息,使用如下api:
$ curl -XGET 'http://192.168.212.190:9200/_snapshot/my_backup/_all'
另外还有个一api可以看到更加详细的信息:
$ curl -XGET 'http://192.168.212.190:9200/_snapshot/my_backup/snapshot_2/_status'
删除备份
$ curl -XDELETE 'http://192.168.212.190:9200/_snapshot/my_backup/snapshot_2'
三、Restore
恢复snapshot_1里的全部索引:
$ curl -XPOST 'http://192.168.212.190:9200/_snapshot/my_backup/snapshot_1/_restore'
api额外的参数:
$ curl -XPOST 'http://192.168.212.190:9200/_snapshot/my_backup/snapshot_1/_restore' -d '{
"indices": "index_1",
"rename_pattern": "index_(.+)",
"rename_replacement": "restored_index_$1"
}'
参数indices 设置只恢复index_1索引,参数rename_pattern 和rename_replacement 用来正则匹配要恢复的索引,并且重命名。和备份一样,api会立刻返回值,然后在后台执行恢复,使用wait_for_completion 标记强制同步执行。
以使用下面两个api查看状态
$ curl -XGET 'http://192.168.212.190:9200/_recovery/'
elasticsearch snapshot的更多相关文章
- Elasticsearch snapshot 备份的使用方法 【备忘】
常见的数据库都会提供备份的机制,以解决在数据库无法使用的情况下,可以开启新的实例,然后通过备份来恢复数据减少损失.虽然 Elasticsearch 有良好的容灾性,但由于以下原因,其依然需要备份机制. ...
- elasticsearch snapshot快照备份和恢复
环境:mac 使用brew 安装elasticsearch 1.在 /usr/local/etc/elasticsearch/elasticsearch.yml 文件中配置快照地址 p ...
- elasticsearch数据备份还原
elasticsearch数据备份还原 1.在浏览器中运行http://XXX.XXX.XXX.XXX:9200/_flush,确保索引数据能保存到硬盘中. 2.原数据的备份.主要是elasticse ...
- Elasticsearch分布式搜索和数据分析引擎-ElasticStack(上)v7.14.0
Elasticsearch概述 **本人博客网站 **IT小神 www.itxiaoshen.com Elasticsearch官网地址 https://www.elastic.co/cn/elast ...
- ElasticSearch7.X.X-初见-模仿京东搜索的实战
目录 简介 聊聊Doug Cutting ES&Solr&Lucene ES的安装 安装可视化界面ES head插件 了解ELK 安装Kibana ES核心概念 文档 类型 索引 倒排 ...
- Elasticsearch:Cluster备份 Snapshot及Restore API
Elasticsearch提供了replica解决方案,它可以帮我们解决了如果有一个或多个node失败了,那么我们的数据还是可以保证完整的情况,并且搜索还可以继续进行.但是,有一种情况是我们的所有的n ...
- elasticsearch数据基于snapshot的还原备份+版本升级
前言 之前安装的是elasticsearch-6.5.0,漏洞扫描报The remote web server hosts a Java application that is vulnerable. ...
- Elasticsearch:Snapshot 生命周期管理
转载自:https://blog.csdn.net/UbuntuTouch/article/details/108643226
- Elasticsearch 调优 (官方文档How To)
How To Elasticsearch默认是提供了一个非常简单的即开即用体验.用户无需修改什么配置就可以直接使用全文检索.结果高亮.聚合.索引功能. 但是想在项目中使用高性能的Elasticsear ...
随机推荐
- 使用jsonp跨域调用百度js实现搜索框智能提示,并实现鼠标和键盘对弹出框里候选词的操作【附源码】
项目中常常用到搜索,特别是导航类的网站.自己做关键字搜索不太现实,直接调用百度的是最好的选择.使用jquery.ajax的jsonp方法可以异域调用到百度的js并拿到返回值,当然$.getScript ...
- 聊下git merge --squash
你经常会面临着将dev分支或者很多零散的分支merge到一个公共release分支里. 但是有一种情况是需要你处理的,就是在你的dev的分支里有很多commit记录.而这些commit是无需在rele ...
- Spark官方文档 - 中文翻译
Spark官方文档 - 中文翻译 Spark版本:1.6.0 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 引入Spark(Linki ...
- shell 判断语句
1.字符串判断 str1 = str2 当两个串有相同内容.长度时为真str1 != str2 当串str1和str2不等时为真-n str1 当串的长度大于0时为真(串非空)-z str1 当串的长 ...
- 2015.2.16 关于delphi web控件打开新网页时弹出关闭页面(js代码)出错的解决办法研究
参考网址1:http://www.csharpwin.com/csharpspace/2360.shtml...参考网址2:http://www.oschina.net/question/234345 ...
- [Django]模型提高部分--聚合(group by)和条件表达式+数据库函数
前言:本文以学习记录的形式发表出来,前段时间苦于照模型聚合中group by 找了很久,官方文章中没有很明确的说出group by,但在文档中有提到!!! 正文(最后编辑于2016-11-12): 聚 ...
- EF6 如何判断DataContext有修改,以及如何放弃修改
如何判断DataContext有修改: EF6的 using (var db = new Model1()) { if (db.ChangeTracker.HasChanges()) { Cons ...
- jstl中的sql:query标签获取的结果如何格式化输出
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- jquery的show/hide/toggle详解
通过阅读源码我们发现show,hide,toggle调用了showHide和isHidden这2个方法,所以我们要搞明白原理必须先看一下这2个方法. jQuery.fn.extend({ ...... ...
- git没有changId解决方法
1.git branch work(从最新节点建立分支,相当于将自己的修改备份到新的分支) 2.git reset --hard HEAD~10(强制回滚多个节点) 3.git status 如果显示 ...