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. 基于React 的前端UI开发框架 及与Electron 的结合 https://cxjs.io/

    1.cxjs  基于React 的前端UI开发框架    https://cxjs.io/ coreu   http://coreui.io/ 2.antd-admin                ...

  2. Linux将公网ip映射到局域网ip

    测试环境如下: monitor: msc1:公网IP:103.6.164.128 eth0 内网IP:192.168.0.57 eth0内网IP:192.168.0.16 eth1 通过访问monit ...

  3. 题解-hdu2866 Special Prime

    Problem hdu-2866 题意:求区间\([2,L]\)有多少素数\(p\)满足\(n^3+pn^2=m^3\),其中\(n,m\)属于任意整数 Solution 原式等价于\(n^2(p+n ...

  4. EntityFramework之事务

    一.EF事务 引用程序集 using System.Transactions; 用法 var writer = new System.IO.StringWriter(); try { using (v ...

  5. javascript日期格式yyyyMMddHHmmss

    1. function GetDateTimeToString() { var date_ = new Date(); var year = date_.getFullYear(); ; var da ...

  6. Linux中给普通用户添加sudo权限

    使用Linux系统时,经常会被要求使用超级权限,但是root的权限太过大了,一般慎用!!!因此可以通过给普通用户添加sudo权限,平常用普通用户进行操作,当需要root权限的时候进行sudo操作.以下 ...

  7. HAProxy从零开始到掌握

    转自:https://www.jianshu.com/p/c9f6d55288c0 目录: HAProxy是什么 HAProxy的核心能力和关键特性 HAProxy的安装和运行 使用HAProxy搭建 ...

  8. 36)django-jsonp跨域

    一:什么是JSONP JSONP(JSON with Padding)是JSON的一种"使用模式",可用于解决主流浏览器的跨域数据访问的问题.由于同源策略,一般来说位于 serve ...

  9. CodeCraft-19 and Codeforces Round #537 (Div. 2) 题解

    传送门 D. Destroy the Colony 首先明确题意:除了规定的两种(或一种)字母要在同侧以外,其他字母也必须在同侧. 发现当每种字母在左/右边确定之后,方案数就确定了,就是分组的方案数乘 ...

  10. jQuery对url的操作

    // 修改URL中指定参数的值 function changeURLArg(url,arg,arg_val){ var pattern=arg+'=([^&]*)'; var replaceT ...