前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何备份ElasticSearch索引数据到HDFS上

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

作者头像
我是攻城师
发布2018-05-14 17:43:20
1.6K0
发布2018-05-14 17:43:20
举报
文章被收录于专栏:我是攻城师我是攻城师

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

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

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

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

(1)Repositories (仓库)

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

(2)Snapshot (快照)

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

(3)Restore (恢复)

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

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

ElasticSearch2.3.4

ElasticSearch5.6.4

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

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

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

(3)重启整个集群

(4)构建一个仓库

查看仓库信息:

删除一个仓库:

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

(5)构建一个快照

查询快照的几个方式:

删除一个快照:

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

(6)恢复快照

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

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

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

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

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

完事之后,直接重启集群即可,注意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版本他们的不同之处,数据备份是生产环境非常重要的一个环节,有了备份我们才可以更加从容的面对一些突发的线上故障。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-02-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我是攻城师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档