将Elasticsearch的快照备份到HDFS
1、安装Elasticsearch插件repository-hdfs
将zip包放在/usr/local下
注意插件版本需要和Elasticsearch的版本对应。如果版本不匹配,在安装时会有提示
cd /usr/local/software/elasticsearch-6.2./bin
./elasticsearch-plugin install file:///usr/local/repository-hdfs-6.2.1.zip
安装成功后需要重启Elasticsearch
2、备份和恢复
构建一个仓库
PUT http://10.10.6.225:9200/_snapshot/backup
{
"type": "hdfs",
"settings": {
"uri": "hdfs://10.10.6.170:9000",
"path": "/store",
"conf_location": "/usr/local/hadoop/etc/hadoop/hdfs-site.xml"
}
}
一些参数的说明:
uri : hdfs的地址和端口
path : 数据存储/加载的路径
load_defaults: 是否加载hadoop默认配置(默认开启)
compress : 是否压缩元数据(默认关闭)
chunk_size : 覆盖块大小(默认关闭)
conf_location:这个参数好像不用加
在创建仓库时会报如下类似的错误
Permission denied: user=elasticsearch, access=WRITE
临时解决办法:
去修改HDFS的hdfs-site.xml文件,取消hadoop hdfs的用户权限检查。需要再找其他办法做到从根本上解决问题
vi /usr/local/hadoop/etc/hadoop/hdfs-site.xml
增加如下配置
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
重启HDFS
备份快照
PUT http://10.10.6.225:9200/_snapshot/backup/snapshot_100?wait_for_completion=true
{
"indices": "cars", //备份cars的index,注意不设置这个属性,默认是备份所有index
"ignore_unavailable": true,
"include_global_state": false
}
查看所有快照
GET http://10.10.6.225:9200/_snapshot/backup/_all
查看某个快照
GET http://10.10.6.225:9200/_snapshot/backup/snapshot_100
删除一个快照
DELETE http://10.10.6.225:9200/_snapshot/backup/snapshot_100
恢复快照
POST http://10.10.6.225:9200/_snapshot/backup/snapshot_100/_restore
{
"indices": "cars", //指定索引恢复,不指定就是所有
"ignore_unavailable": true, //忽略恢复时异常索引
"include_global_state": false //是否存储全局转态信息,fasle代表有一个或几个失败,不会导致整个任务失败
}
查看nginx-access-log索引的恢复进度
GET http://10.10.6.225:/nginx-access-log/_recovery/
查看所有索引的恢复进度
GET http://10.10.6.225:9200/_recovery/
恢复快照index重命名
{
"indices": "cars", //指定索引恢复,不指定就是所有
"ignore_unavailable": true, //忽略恢复时异常索引"
include_global_state": false, //是否存储全局转态信息,fasle代表有一个或几个失败,不会导致整个任务失败
"rename_pattern": "cars", //应该是正则,要想恢复所有的就写成index名
"rename_replacement": "cars_temp" //新的index名称
}
将Elasticsearch的快照备份到HDFS的更多相关文章
- 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 ...
- ElasticSearch快照备份及恢复
工作步骤: 1:建立备份快照数据挂载点,即共享文件目录(Shared Filesystem): 2:建立快照仓储repository: 3:建立snapshot快照备份: 4:恢复snapshot快照 ...
- Elasticsearch系列---生产数据备份恢复方案
前言 生产环境中运行的组件,只要有数据存储,定时备份.灾难恢复是必修课,mysql数据库的备份方案已经非常成熟,Elasticsearch也同样有成熟的数据备份.恢复方案,我们来了解一下. 概要 本篇 ...
- Elasticsearch:Cluster备份 Snapshot及Restore API
Elasticsearch提供了replica解决方案,它可以帮我们解决了如果有一个或多个node失败了,那么我们的数据还是可以保证完整的情况,并且搜索还可以继续进行.但是,有一种情况是我们的所有的n ...
- ELK数据迁移,ES快照备份迁移
通过curl命令或者kibana快照备份,恢复的方式进行数据迁移 环境介绍 之前创建的ELK 因为VPC环境的问题,需要对ELK从新部署,但是还需要保留现有的数据,于是便有了这篇文档. 10.0.20 ...
- lvm快照备份数据库(Mysql5.7)
备份的目的 能够防止由于机械故障以及人为误操作带来的数据丢失,例如将数据库文件保存在了其它地方. 备份的分类 以操作过程中服务的可用性分: 冷备份:cold backup mysql服务关闭,mysq ...
- 通过递增快照备份 Azure 非托管 VM 磁盘
概述 Azure 存储提供创建 Blob 快照的功能. 快照将捕获该时间点的 Blob 状态. 本文介绍有关如何使用快照维护虚拟机磁盘备份的方案. 如果选择不使用 Azure 备份和恢复服务,但想要为 ...
随机推荐
- python hmac解密
import hmac def get_singa_true(timestamp): sha1 = hmac.new("d1b964811afb40118a12068ff74a12f4&qu ...
- python3+selenium入门11-窗口切换
在打开新的浏览器窗口时,如果要定位新窗口的元素,需要先切换到这个新打开的窗口中,才能定位到该窗口下的元素. current_window_handle:获取当前句柄.可以把句柄理解成窗口的身份证 wi ...
- UVALive 8519 Arrangement for Contests 2017西安区域赛H 贪心+线段树优化
题意 等价于给一个数列,每次对一个长度为$K$的连续区间减一 为最多操作多少次 题解: 看样例猜的贪心,10分钟敲了个线段树就交了... 从1开始,找$[i,i+K]$区间的最小值,然后区间减去最小值 ...
- slice的部分说明
1.slice是数值的一个引用,并不会新增内存地址. 2.slice的容量和长度是两个概念,这个长度跟数组的长度是一个概念,即在内存中进行了初始化实际存在的元素的个数.何谓容量?如果通过make函数创 ...
- WebSocket参考
websocker是一种网页和服务端建立tcp全双工通信的技术,可以不再让页面进行向服务器发送轮询请求. 需要注意使用的场景,如果建立的tcp过多的话,会对服务器有很大压力. WebSocket前后台 ...
- ZOJ 2110 DFS
狗要出门,且正好在T秒 就是DFS + 剪枝, 联系一下剪枝技巧 #include<iostream> #include<cstdio> #include<cstring ...
- 查看和解除Linux系统对用户使用资源的限制
查看当前系统资源限制 ulimit -a 设置用户的最大进程数(重启后失效) ulimit -u 1024 设置用户可以打开的最大文件句柄数(重启后失效) ulimit -n 65530 ...
- [转]GitHub上优秀的Go开源项目
转载于GitHub上优秀的Go开源项目 正文 近一年来,学习和研究Go语言,断断续续的收集了一些比较优秀的开源项目,这些项目都非常不错,可以供我们学习和研究Go用,从中可以学到很多关于Go的使用.技巧 ...
- 17)django-模板的继承与导入
情况1:通常写页面都有个模板用来框定头部LOGO页面,左侧导航菜单,只有右部的内容不同.如果不使用模板就大量重复工作. 特别如果头部或者左侧导航需要修改或者添加,所有页面都需要修改.django 通过 ...
- 任意N位二进制的补码实现——队列存放
正在学习计算机组织与结构,为了写一些底层的算术操作模拟,比如一个二进制补码数的加减乘除,发现这很麻烦,因为不管是什么语言,都只提供了8位.32.64位等部分位数的补码形式,那么怎么实现任意任意位的补码 ...