1、安装Elasticsearch插件repository-hdfs

下载地址:https://artifacts.elastic.co/downloads/elasticsearch-plugins/repository-hdfs/repository-hdfs-6.2.3.zip

将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的更多相关文章

  1. elasticsearch snapshot快照备份和恢复

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

  2. Elasticsearch的快照备份

    该文档适用于备份使用NAS的仓库类型.所有Elasticsearch集群中的服务通过挂载NAS目录来存放备份快照数据. 1.创建备份仓库 创建一个仓库名称:backup curl -H "C ...

  3. Elasticsearch 简单快照备份

    创建仓库 POST http://10.10.14.201:9200/_snapshot/backup { "type": "fs", "settin ...

  4. ElasticSearch快照备份及恢复

    工作步骤: 1:建立备份快照数据挂载点,即共享文件目录(Shared Filesystem): 2:建立快照仓储repository: 3:建立snapshot快照备份: 4:恢复snapshot快照 ...

  5. Elasticsearch系列---生产数据备份恢复方案

    前言 生产环境中运行的组件,只要有数据存储,定时备份.灾难恢复是必修课,mysql数据库的备份方案已经非常成熟,Elasticsearch也同样有成熟的数据备份.恢复方案,我们来了解一下. 概要 本篇 ...

  6. Elasticsearch:Cluster备份 Snapshot及Restore API

    Elasticsearch提供了replica解决方案,它可以帮我们解决了如果有一个或多个node失败了,那么我们的数据还是可以保证完整的情况,并且搜索还可以继续进行.但是,有一种情况是我们的所有的n ...

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

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

  8. lvm快照备份数据库(Mysql5.7)

    备份的目的 能够防止由于机械故障以及人为误操作带来的数据丢失,例如将数据库文件保存在了其它地方. 备份的分类 以操作过程中服务的可用性分: 冷备份:cold backup mysql服务关闭,mysq ...

  9. 通过递增快照备份 Azure 非托管 VM 磁盘

    概述 Azure 存储提供创建 Blob 快照的功能. 快照将捕获该时间点的 Blob 状态. 本文介绍有关如何使用快照维护虚拟机磁盘备份的方案. 如果选择不使用 Azure 备份和恢复服务,但想要为 ...

随机推荐

  1. python hmac解密

    import hmac def get_singa_true(timestamp): sha1 = hmac.new("d1b964811afb40118a12068ff74a12f4&qu ...

  2. python3+selenium入门11-窗口切换

    在打开新的浏览器窗口时,如果要定位新窗口的元素,需要先切换到这个新打开的窗口中,才能定位到该窗口下的元素. current_window_handle:获取当前句柄.可以把句柄理解成窗口的身份证 wi ...

  3. UVALive 8519 Arrangement for Contests 2017西安区域赛H 贪心+线段树优化

    题意 等价于给一个数列,每次对一个长度为$K$的连续区间减一 为最多操作多少次 题解: 看样例猜的贪心,10分钟敲了个线段树就交了... 从1开始,找$[i,i+K]$区间的最小值,然后区间减去最小值 ...

  4. slice的部分说明

    1.slice是数值的一个引用,并不会新增内存地址. 2.slice的容量和长度是两个概念,这个长度跟数组的长度是一个概念,即在内存中进行了初始化实际存在的元素的个数.何谓容量?如果通过make函数创 ...

  5. WebSocket参考

    websocker是一种网页和服务端建立tcp全双工通信的技术,可以不再让页面进行向服务器发送轮询请求. 需要注意使用的场景,如果建立的tcp过多的话,会对服务器有很大压力. WebSocket前后台 ...

  6. ZOJ 2110 DFS

    狗要出门,且正好在T秒 就是DFS + 剪枝, 联系一下剪枝技巧 #include<iostream> #include<cstdio> #include<cstring ...

  7. 查看和解除Linux系统对用户使用资源的限制

    查看当前系统资源限制 ulimit -a   设置用户的最大进程数(重启后失效) ulimit -u 1024   设置用户可以打开的最大文件句柄数(重启后失效) ulimit -n 65530   ...

  8. [转]GitHub上优秀的Go开源项目

    转载于GitHub上优秀的Go开源项目 正文 近一年来,学习和研究Go语言,断断续续的收集了一些比较优秀的开源项目,这些项目都非常不错,可以供我们学习和研究Go用,从中可以学到很多关于Go的使用.技巧 ...

  9. 17)django-模板的继承与导入

    情况1:通常写页面都有个模板用来框定头部LOGO页面,左侧导航菜单,只有右部的内容不同.如果不使用模板就大量重复工作. 特别如果头部或者左侧导航需要修改或者添加,所有页面都需要修改.django 通过 ...

  10. 任意N位二进制的补码实现——队列存放

    正在学习计算机组织与结构,为了写一些底层的算术操作模拟,比如一个二进制补码数的加减乘除,发现这很麻烦,因为不管是什么语言,都只提供了8位.32.64位等部分位数的补码形式,那么怎么实现任意任意位的补码 ...