如何备份ElasticSearch索引数据到HDFS上

ES索引备份还原 es数据出于线上数据安全考虑,对于es已有的索引数据可以进行安全备份,通常可以将es备份到共享文件目录或者一些其它的数据存储的文件系统eg:HDFS、Amazon S3、Azure Cloud。备份会生成索引的快照存储到指定的仓库路径下,当需要进行数据还原的时候,就可以通过访问备份还原的接口快速实现数据还原。如果您使用的发行版与Apache Hadoop协议不兼容,请考虑使用自己的发行版替换plugin文件夹内的Hadoop库(可能必须调整所需的安全权限)index_1:需要还原的索引名。 阅读详情

 

在ElasticSearch里面备份策略已经比较成熟了

目前在ES5.x中备份支持的存储方式有如下几种:


 
  1. fs //本地挂载的盘

  2. url //网络协议存储支持http,https,ftp

  3. repository-s3 //亚马逊

  4. repository-hdfs //HDFS

  5. repository-azure //微软

  6. repository-gcs //google

在这里我们主要介绍如何备份索引数据到HDFS上。

首先,我们先从名词概念上理解下备份相关术语:

(1)Repositories (仓库)

在一个es集群内,想要备份数据,首先要创建一个仓库,用来存储快照,一个集群可以创建多个仓库。

(2)Snapshot (快照)

有了仓库之后,我们就可以创建快照了,创建快照时,必须要选择一个指定的仓库才能创建。每个快照里面可以包含多个索引,默认的话是备份整个集群的索引。当然我们也可以指定备份我们认为重要的索引的数据。

(3)Restore (恢复)

备份完成之后数据也就是快照的还原称为恢复

ok,理解了上面三个概念之后,下面我们看下具体怎么操作,本次主要介绍 主要涉及两个ES版本:

ElasticSearch2.3.4

ElasticSearch5.6.4

(一)在ElasticSearch2.x中如何备份索引数据

(1)在每台节点上安装repository-hdfs插件

bin/plugin install elasticsearch/elasticsearch-repository-hdfs/2.2.0

(2)修改每台节点上的config/elasticsearch.yml文件,添加下面的属性

security.manager.enabled: false

(3)重启整个集群

(4)构建一个仓库


 
  1. PUT /_snapshot/my_backup

  2. {

  3. "type": "hdfs",

  4. "settings": {

  5. "path": "/back/es/",

  6. "load_defaults": "true",

  7. "compress": "true",

  8. "uri": "hdfs://192.168.10.160:8020"

  9. }

  10. }

查看仓库信息:


 
  1. //查看指定的仓库

  2. GET /_snapshot/my_backup

  3.  
  4. //下面当前所有的仓库信息s

  5. GET /_snapshot

  6. GET /_snapshot/_all

  7.  

删除一个仓库:

DELETE /_snapshot/my_backup

注意删除之后,只是ES里面的引用删除,HDFS上备份的文件是不会删除的

(5)构建一个快照


 
  1. PUT /_snapshot/my_backup/snapshot_1?wait_for_completion=true

  2. {

  3. "indices": "index_1,index_2",//注意不设置这个属性,默认是备份所有

  4. "ignore_unavailable": true,

  5. "include_global_state": false

  6. }

查询快照的几个方式:


 
  1. GET /_snapshot/my_backup/snapshot_1 //查询指定快照

  2. GET /_snapshot/my_backup/snapshot_*,some_other_snapshot //支持通配符查询

  3. GET /_snapshot/my_backup/_all //查询所有的快照

  4.  

删除一个快照:

DELETE /_snapshot/my_backup/snapshot_1

注意删除之后,只是ES里面的引用删除,HDFS上备份的文件是不会删除的

(6)恢复快照


 
  1. POST /_snapshot/my_backup/snapshot_1/_restore

  2. {

  3. "indices": "index_1,index_2", //指定索引恢复,不指定就是所有

  4. "ignore_unavailable": true,//忽略恢复时异常索引

  5. "include_global_state": false,//是否存储全局转态信息,fasle代表有一个或几个失败,不会导致整个任务失败

  6. "rename_pattern": "index_(.+)",//是否需要重命名索引

  7. "rename_replacement": "restored_index_$1"//替换后的索引名

  8. }

(二)在ElasticSearch5.x中如何备份索引数据

ElasticSearch5.x的备份方法和ElasticSearch2.x大同小异,这里仅介绍他们不同的地方。

首先es5要求必须是JDK8的版本,如果你的系统有多个jdk的版本,而且你不想改变现有的jdk版本,那么你就要,单独在下面的两个脚本中声明JDK:


 
  1. vi bin/elasticsearch

  2. vi bin/elasticsearch-plugin

里面分别添加下面的jdk指定版本:


 
  1. export JAVA_HOME=/usr/java/jdk1.8.0_91

  2. export PATH=$JAVA_HOME/bin:$PATH

然后在每台节点上安装备份的插件:

bin/elasticsearch-plugin install repository-hdfs

完事之后,直接重启集群即可,注意ElasticSearch5.x不需要再修改elasticsearch.yml文件。

用法和Elasticsearch2.x是一样的,这里不再重述。

最后再补充一下:

es1.x的备份的索引是可以直接在es2.x中恢复的

es2.x的备份的索引是可以直接在es5.x中恢复的

但是,es1.x的的索引数据是不能直接在es5.x中使用的。

兼容的索引只能跨一个主要版本

总结:

本文主要介绍了在Elasticsearch2.x和5.x的版本中,如何给索引数据备份及恢复,并叙述了2.x和5.x版本他们的不同之处,数据备份是生产环境非常重要的一个环节,有了备份我们才可以更加从容的面对一些突发的线上故障。

转载于:https://my.oschina.net/u/1027043/blog/1620846

ELK合集持续更新(二十二):Elasticsearch集群的数据备份和迁移 Elasticsearch集群的数据备份和迁移 – snapshot快照 背景 : docker版的ES7集群 (集群搭建 见文章 ELK合集持续更新(十五):ELK所有部署与集成) 已安装Kibana ES数据备份到HDFS文件系统 (默认 已有现成的HDFS可用) 再从HDFS恢复数据到任一ES7集群 (当前的集群 和跨集群 分别演示) snapshot概述 snapshot 可以将... 阅读详情

相关推荐

PySide6 vs PyQt6:新手如何根据Python版本选择GUI库?附版本兼容性测试

本文针对Python GUI开发新手,详细对比了PySide6与PyQt6的核心差异,并提供了基于Python 3.8至3.12等不同版本的兼容性实测数据与选择建议。文章重点分析了版本选择策略,帮助开发者根据自身Python环境、项目需求(如与matplotlib集成)及许可证考量,做出最合适的决策,并附有安装验证与避坑指南。

weixin_29094539的博客 704

ElasticSearch-学习笔记04【Java客户端操作索引库】

ElasticSearch-学习笔记04【Java客户端操作索引库】

upward 3246

保姆级教程:在STM32CubeIDE上快速部署micro_ros到STM32F407(附常见问题解决)

本文提供了一份详细的保姆级教程,指导开发者如何在STM32CubeIDE上快速部署micro_ros到STM32F407微控制器。内容涵盖从Windows与Ubuntu双环境搭建、micro-ROS静态库编译、STM32CubeIDE工程深度集成,到串口通信联调与常见问题解决的完整流程,旨在帮助读者构建稳定可靠的ROS2与嵌入式设备通信系统。

o4p5q6r7s的博客 324

第05讲:Java操作之ElasticSearch索引操作

Elasticsearch 软件是由 Java 语言开发的,所以也可以通过 Java API 的方式对 Elasticsearch服务进行访问。

分享日常工作技术 639

ROS学习【11】-----基于ubuntu16.04上Gazebo机器人环境搭建的传感器仿真(camera、kinect、Lidar),并通过Rviz进行数据显示

ROS学习-----基于ubuntu16.04上Gazebo机器人环境搭建的传感器仿真目录一、Gazebo环境搭建前的准备1、将搭建模型下载到我们的gazebo环境下2、升级我们的gazebo版本二、创建配置launch文件参数的world文件1、进入工程包mbot_gazebo2、创建文件夹worlds3、进入该文件夹4、创建playground.world文件5、创建room.world文件三...

qq_42451251的博客 3611

three.js开发3D地图记录(二)

添加地图点击事件,点击区域,地图区域改变颜色并浮起来。

anwebDesigner的博客 1695

Java操作ElasticSearch之创建索引

   在正式开始讲解之前,首先讲解一下索引的概念.......   通常来讲,创建数据库,常规有如下几个步骤:           创建数据库   创建表(创建字段   字段类型)   添加数据 这几个步骤.......   类比于elasticsearch,可以总结为如下几个步骤:         创建索引      数据类型    数据(id   字段值)         Elast...

m0_37039484的博客 2702

3D高斯压缩黑科技开源!1GB场景压到42MB,Web3D迎来“WebP时刻”——SOG格式深度解析

Web3D迎来革命性突破!PlayCanvas开源全新3D高斯泼溅压缩格式SOG,将1GB场景压缩至仅42MB,体积缩小95%,加载速度提升10倍+。SOG通过将3D数据编码为WebP纹理+元数据,实现GPU零拷贝实时渲染,完美兼容WebGL/WebGPU。实测显示,4百万高斯点的场景在手机上1.5秒内完成加载,内存占用降低83%。这一技术突破为电商展示、虚拟旅游、工业设计等领域带来新机遇,开发者可通过开源工具链快速集成。SOG被誉为"3D界的WebP",有望成为下一代3D互联网的基础设

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 867

Elasticsearch集群进行索引的备份与恢复

ip如下:我们要进行集群部署首先要进行,创建备份共享文件存储地址由于是集群部署且服务器不同所以这边用到了NFS进行文件的共享。

lmd770013209的博客 1782

uniapp [安卓苹果App端] - 详细实现下载文件保存到用户手机本地,指定文件存储位置路径及文件夹名称下载并保存,Uniapp app端将文件下载保存并储存到指定目录(手机系统存储空间权限检测)

uni-app,安卓Android,苹果ios,安卓app端,苹果App端,uniapp苹果安卓app,app端下载文件,移动端文件下载,并保存到手机本地存储空间,uniapp下载文件保存到手机本地,iOS下载文件怎么保存,系统读写存储空间权限,下载文件到本地详细流程及源代码,保存自定义目录,uniapp,实现下载文件并保存到本地,文件后缀,如何指定手机的存放目录路径url,点击下载文档到手机中并提示存储位置,如何在uniapp中实现文件下载功能,uniApp文件下载,怎么指定文件保存目录,下载报错,没反应

🏆 前端领域优质创作者 1万+

基于机器学习的网络入侵检测系统设计与实现

本文设计并实现了一个基于机器学习的网络入侵检测系统,采用随机森林模型结合KMM算法优化,使用CICIDS2017数据集进行训练。系统包含完整的数据预处理流程、特征工程、模型调优和远程部署方案。实验结果表明,该系统能有效识别多种网络攻击类型,在检测准确率和误报率方面表现优异。研究为网络安全防护提供了新的技术思路和实用工具,具有重要的应用价值。

huanghm88的专栏 319

elasticsearch系列五:集群的备份与恢复

前几篇咱们讲了es的语法、存储的优化、常规运维等等,今天咱们看下如何备份数据和恢复数据。在传统的关系型数据库中我们有多种备份方式,常见有热备、冷备、全量+定时增量备份、通过开发程序备份等等,其实在es中是一样的。官方建议采用snapshot方式进行备份与恢复(它是有点冷备的意思,采用直接物理copy的方式,适合大数据量情况下),民间开源的有elasticsearch-dump方式进行备份但是这种方式只适用于小数据量的情况下,它是基于scroll语法进行的备份操作。

lvjingang的博客 3877

RAG系统中Reranker模型选型实战

本文详细介绍了RAG系统中Reranker模型选型实战,希望能对学习RAG的同学们有所帮助。 文章目录 1. 前言 2. 思路解析 3. 测评数据集构建 3.1 步骤一 3.2 步骤二 3.3 数据示例 3.4 总结 4. 实战代码 4.1 本地模型 4.2 使用第三方的Reranker模型API

herosunly的博客 17万+

elk如何java索引hdfs_如何备份ElasticSearch索引数据到HDFS上

在ElasticSearch里面备份策略已经比较成熟了目前在ES5.x中备份支持的存储方式有如下几种:fs //本地挂载的盘url //网络协议存储支持http,https,ftprepository-s3 //亚马逊repository-hdfs //HDFSrepository-azure //微软repository-gcs //google在这里我...

weixin_39817215的博客 155

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

elasticsearch备份与恢复4_使用ES-Hadoop将ES中的索引数据写入HDFS中

背景知识见链接:elasticsearch备份与恢复3_使用ES-Hadoop将HDFS数据写入Elasticsearch中 项目参考《Elasticsearch集成Hadoop最佳实践》的tweets2HdfsMapper项目 项目源码:https://gitee.com/constfafa/ESToHDFS.git 开发过程: 1. 先在kibana中查看下索引的信息 "hits"...

u013905744的专栏 1814

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

ES之snapshot备份->HDFS

##小序 最新有收到一些小伙伴的反馈,说他们在测试Solr的Backup功能的时候,发现单机模式的Solr在一个Collection一个分片的情况下可以备份,但是多个分片和SolrCloud模式下备份失败,报“Could not backup all replica”的错误。 Solr也是好久没接触,我一时还没反应过来原因,于是去看官方Reference,找到snapshot的API对了一下,发现...

u011775740的博客 961

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

es集群数据备份到hdfs

一、es集群数据备份 es的eeplica 提供了运行时的高可用的保障机制,可以容忍少数节点的故障和部分数据的丢失,但整体上不会丢失任何数据。 注意:replica无法做灾难性的数据保护,比如机房停电,所有机器全部宕机 二、使用snapshot备份数据 snapshot会将集群中的状态和数据全部存储到一个外部文件系统中比如HDFS。snapshot首次备份是全量备份,后面是增量备份。 1...

勇心在馨 1784

进阶-第102_es生产集群备份恢复之基于snapshot+hdfs进行数据备份

1、es集群数据备份 任何一个存储数据的软件,都需要定期的备份我们的数据。es replica提供了运行时的高可用保障机制,可以容忍少数节点的故障和部分数据的丢失,但是整体上却不会丢失任何数据,而且不会影响集群运行。但是replica没法进行灾难性的数据保护,比如说机房彻底停电,所有机器全部当即,等等情况。对于这种灾难性的故障,我们就需要对集群中的数据进行备份了,集群中数据的完整备份...

qq_35524586的博客 717

Elasticsearch如何备份到HDFS

es备份到hdfs 简介 elasticsearch副本提供了高可靠性;它可以保证节点丢失而不会中断服务,但是副本不能做到容灾备份,所以需要把elasticsearch的数据被分到hdfs中。 测试环境 elasticsearch 6.3.2 Hadoop 2.9.1 操作步骤 安装repository-hdfs 进入ES的目录,执行命令:bin/elasticsearch...

u010739163的博客 2024

elasticsearch之 hdfs上的备份和还原操作

要先将快照删除之前的索引在还原,如果是全部的索引还原就将全部的索引删除,但是.kibana的索引无法删除要用poostmain删除就不会建了因为用kibana会自动创建索引。hdfs创建仓库文件夹hdfsdfs-mkdir-p/elasticsearch/backups/my_hdfs_repository。...

wudonglianga的专栏 1203

Hadoop,MapReduce,HDFS面试题

今天发这个的目的是为了给自己扫开迷茫,告诉自己该进阶了,下面内容不一定官方和正确。全然个人理解,欢迎大家留言讨论 1.什么是hadoop 答:是google的核心算法MapReduce的一个开源实现。用于海量数据的并行处理。 hadoop的核心主要包括:HDFS和MapReduce HDFS是分布式文件系统。用于分布式存储海量数据。 ...

aodiyi6351的博客 175
上一篇: ElasticSearch入门 第二篇:集群配置ES2.4
下一篇: 滚动重启es
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值