【实战】ElasticSearch的备份与恢复

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介:
 早先时候我们讲了关于HDFS的备份方法,作为Hadoop在搜索层级的演进应用,Elasticsearch可以接入多种异构的数据平台(结构化/非结构化,流式/批量的),加之有丰富的管理工具,在很短时间内迅速获得了很多有EDW需求的公司的青睐。

1

在Elasticsearch的架构中,由Logstash负责采集客户端数据(类似于Hadoop生态系统中的Flume,当然Flume和Hadoop也可以直接作为Elasticsearch的数据源),再由Elasticsearch做即时分析与处理,最后交由基于现代化HTML5的web应用-Kibana将分析结果作可视化展现。
2

说到Elasticsearch的用户,刚被微软以75亿美元天价收购的Github就是一个典型案例,此外还有Facebook、WordPress、stackoverflow等超大型社交类应用及社区。Elasticsearch不仅给这些用户提供了冗余、可扩展的数据系统,并且通过实时索引,有效地将原先长达几十分钟的搜索体验缩短至秒级。通过轻型的Elasticsearch-Hadoop库可以与现有的Hadoop平台无缝对接,并且可以实现数据的双向传输。
3

Elasticsearch的安装也很方便,我们知道在Mac系统上brew是用来安装程序的指令,在安装完Java(运行“brew cask install java”指令)之后,通过brew install <路径>/<安装文件>即可完成对Elasticsearch的安装;装完之后通过brew info elasticsearch可以检查版本及配置信息。
4

既然要备份Elasticsearch,我们先来创建一些数据,比如在索引nameindex的组names下的数据名id1下创建以下数据:

curl -XPOST 'localhost:9200/nameindex/names/id1' -d '

{

"name":"Johnnie"

"email_address":"johnnie.li@eoitek.com"

}

当然Elasticsearch有自己的管理接口可以通过Web界面操作,只需填入数据路径和数据内容即可。
5

填完之后通过GET语句可以查询(命令行:curl -XGET)
6

这条记录是建立在数据集id1下的,我们也可以建立没有ID的记录。
7

这个时候系统会自动为其创建ID。
640
在每个Elasticsearch的配置文件(/config/elasticsearch.yml)中都有定义repository的路径。
8

Elasticsearch的备份方式与Hadoop类似,也是采用快照(Snapshot)形式,你可以单独为某个索引、多个索引或整个集群做快照。鉴于我们刚刚在索引nameindex下面创建了些记录,那我们就来备份这条索引,第一步先决定备份参数:
9
用GET方式检查下备份配置是否创建完成。
0
以上是ES备份的逻辑路径,根据elasticsearch.yml里的设置,我们已经在path.repo的路径下创建了同名的物理目录。
10

接下去就是执行备份,同样使用PUT方式
11

备份完成之后,在逻辑路径下会记录备份的状态。可以用curl localhost:9200/_snapshot/nameindexbackup/10jul2018查看。同时,我们在物理路径下也看到了元数据及快照文件已经生成。
12

在数据恢复之前,我们先把nameindex下的数据都删除。
12
检查发现目标逻辑路径下已经没有任何数据了。
13

恢复的命令是curl -XPOST localhost:9200/_snapshot/nameindexbackup/10jul2018/_restore。检查后发现我们的数据已经恢复了。
14

UneedR∣大数据与机器学习园地
640

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
5月前
|
存储 数据采集 数据处理
数据处理神器Elasticsearch_Pipeline:原理、配置与实战指南
数据处理神器Elasticsearch_Pipeline:原理、配置与实战指南
187 12
|
6月前
|
缓存 数据处理 数据安全/隐私保护
Elasticsearch索引状态管理实战指南
Elasticsearch索引状态管理实战指南
|
6月前
|
存储 索引
Elasticsearch索引之嵌套类型:深度剖析与实战应用
Elasticsearch索引之嵌套类型:深度剖析与实战应用
|
7月前
|
人工智能 自然语言处理 开发者
Langchain 与 Elasticsearch:创新数据检索的融合实战
Langchain 与 Elasticsearch:创新数据检索的融合实战
201 10
|
6月前
|
存储 JSON 搜索推荐
Springboot2.x整合ElasticSearch7.x实战(三)
Springboot2.x整合ElasticSearch7.x实战(三)
53 0
|
6月前
|
存储 自然语言处理 关系型数据库
Springboot2.x整合ElasticSearch7.x实战(二)
Springboot2.x整合ElasticSearch7.x实战(二)
53 0
|
6月前
|
搜索推荐 数据可视化 Java
Springboot2.x整合ElasticSearch7.x实战(一)
Springboot2.x整合ElasticSearch7.x实战(一)
50 0
|
7月前
|
消息中间件 Java 关系型数据库
【二十】springboot整合ElasticSearch实战(万字篇)
【二十】springboot整合ElasticSearch实战(万字篇)
1085 47
|
7月前
|
存储 缓存 监控
干货 | Elasticsearch 8.X 性能优化实战
干货 | Elasticsearch 8.X 性能优化实战
658 2
|
7月前
|
存储 机器学习/深度学习 API
高维向量搜索:在 Elasticsearch 8.X 中利用 dense_vector 的实战探索
高维向量搜索:在 Elasticsearch 8.X 中利用 dense_vector 的实战探索
593 0
高维向量搜索:在 Elasticsearch 8.X 中利用 dense_vector 的实战探索