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. workqueue --最清晰的讲解

    带你入门: 1.INIT_WORK(struct work_struct *work, void (*function)(void *), void *data) 上面一句只是定义了work和work ...

  2. struts2框架之输入校验(参考第二天学习笔记)

    输入校验: 1. 分类 客户端校验:javascript,它是用户体验而已,可以绕开. 服务器端校验 * 代码校验 1). 要求Action必须继承ActionSupport 2). 重写Action ...

  3. UR#13 SRAND

    总感觉这位大仙讲的很清楚:bztminamoto 题意 题目讲的是求 l~r 内所有数的次大质因子,这里设 f(x) 为 x 的次大质因子 我们差分一下就变成求两个前缀和信息了 按照套路,我们考虑 S ...

  4. ansible笔记(9):常用模块之包管理模块

    ansible笔记():常用模块之包管理模块 yum_repository模块 yum_repository模块可以帮助我们管理远程主机上的yum仓库. 此处我们介绍一些yum_repository模 ...

  5. 【原创】运维基础之OpenResty(Nginx+Lua)+Kafka

    使用docker部署 1 下载 # wget https://github.com/doujiang24/lua-resty-kafka/archive/v0.06.tar.gz# tar xvf v ...

  6. Struts2配置拦截器

    <package name="loginaction" namespace="/" extends="struts-default"& ...

  7. C#闰年判断

  8. 对mysql数据库中字段为空的处理

    数据库中字段为空的有两种:一种为null,另一种为空字符串.null代表数值未知,空字符串是有值得,只是为空.有时间我们想把数据库中的数据以excel形式导出时 如果碰到字段为空的,为空的字段会被后面 ...

  9. Java并发编程基础-ReentrantLock的机制

    同步锁: 我们知道,锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源,在Lock接口出现之前,Java应用程序只能依靠synchronized关键字来实现同步锁 ...

  10. cf861D 字典树+时间戳

    好久没碰字典树之类的题了,搞起来有点生疏 /* 把所有母串的后缀加入字典树中 然后再扫一次所有母串的后缀,把后缀放到字典树中查询,找到第一个访问次数为1的结点返回即可 num在计数时,同一个母串的子串 ...