如何将Elasticsearch的快照备份至OSS

前言

Elasticsearch 是一个开源的分布式 RESTful 搜索和分析引擎。它可以在近实时条件下,存储,查询和分析海量的数据。它还支持将快照备份至HDFS/S3上面,而阿里云OSS兼容S3的API,本文将介绍如何使用ES的Repository-S3插件将快照备份至OSS。

部署与配置

首先,我们需要安装repository-s3,可以参考官方文档:
https://www.elastic.co/guide/en/elasticsearch/plugins/7.2/repository-s3.html

启动ES,我们可以从log中看到,ES已经load了这个plugin:

[2019-07-15T14:12:09,225][INFO ][o.e.p.PluginsService     ] [master] loaded module [aggs-matrix-stats]
[2019-07-15T14:12:09,225][INFO ][o.e.p.PluginsService     ] [master] loaded module [analysis-common]
[2019-07-15T14:12:09,225][INFO ][o.e.p.PluginsService     ] [master] loaded module [ingest-common]
[2019-07-15T14:12:09,226][INFO ][o.e.p.PluginsService     ] [master] loaded module [ingest-geoip]
[2019-07-15T14:12:09,226][INFO ][o.e.p.PluginsService     ] [master] loaded module [ingest-user-agent]
[2019-07-15T14:12:09,226][INFO ][o.e.p.PluginsService     ] [master] loaded module [lang-expression]
[2019-07-15T14:12:09,226][INFO ][o.e.p.PluginsService     ] [master] loaded module [lang-mustache]
[2019-07-15T14:12:09,227][INFO ][o.e.p.PluginsService     ] [master] loaded module [lang-painless]
[2019-07-15T14:12:09,227][INFO ][o.e.p.PluginsService     ] [master] loaded module [mapper-extras]
[2019-07-15T14:12:09,227][INFO ][o.e.p.PluginsService     ] [master] loaded module [parent-join]
[2019-07-15T14:12:09,227][INFO ][o.e.p.PluginsService     ] [master] loaded module [percolator]
[2019-07-15T14:12:09,227][INFO ][o.e.p.PluginsService     ] [master] loaded module [rank-eval]
[2019-07-15T14:12:09,228][INFO ][o.e.p.PluginsService     ] [master] loaded module [reindex]
[2019-07-15T14:12:09,228][INFO ][o.e.p.PluginsService     ] [master] loaded module [repository-url]
[2019-07-15T14:12:09,228][INFO ][o.e.p.PluginsService     ] [master] loaded module [transport-netty4]
[2019-07-15T14:12:09,228][INFO ][o.e.p.PluginsService     ] [master] loaded plugin [repository-s3]
[2019-07-15T14:12:12,375][INFO ][o.e.d.DiscoveryModule    ] [master] using discovery type [zen] and seed hosts providers [settings]
[2019-07-15T14:12:12,801][INFO ][o.e.n.Node               ] [master] initialized
[2019-07-15T14:12:12,802][INFO ][o.e.n.Node               ] [master] starting ...

然后,我们需要将OSS使用的Access Key和Secret Key配置到ES去,分别执行下面的命令:

bin/elasticsearch-keystore add s3.client.default.access_key
bin/elasticsearch-keystore add s3.client.default.secret_key

运行

首先,我们创建一个备份:

[root@master ~]# curl -XPUT 'http://localhost:9200/_snapshot/test' -H 'Content-Type: application/json' -d '{ "type": "s3", "settings": { "bucket": "hadoop-oss-test", "endpoint": "oss-cn-zhangjiakou-internal.aliyuncs.com"} }'
{"acknowledged":true}

NOTE: 上面的命令默认使用https协议来传输数据,如果想使用http协议,需要将"protocol": "http", "disable_chunked_encoding": true加到settings里面(这个特性将会在新版本发布后可用)。

可以使用下面的命令来确实创建是否成功:

[root@master ~]# curl -XGET localhost:9200/_snapshot/test?pretty
{"test" : {"type" : "s3","settings" : {"bucket" : "hadoop-oss-test","endpoint" : "oss-cn-zhangjiakou-internal.aliyuncs.com"}}
}

我们可以写入一些测试数据到ES,然后看下目前集群的索引信息:

[root@master ~]# curl -X GET "localhost:9200/_cat/indices?v"
health status index    uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   sales    89ouBy6RQsuT34QRbn_jeQ  10   0     271786            0       15mb           15mb
green  open   customer fQCMEvXsQOu0UgMm1SAJlA   5   0      10000            0      717kb          717kb

假设我们只备份sales索引:

[root@master ~]# curl -XPUT 'http://localhost:9200/_snapshot/test/sales' -H 'Content-Type: application/json' -d '{ "indices": "sales" }'
{"accepted":true}

然后我们可以从OSS控制台看到备份的结果:

现在我们再往sales索引里面写一些数据:

[root@master ~]# curl -X GET "localhost:9200/_cat/indices?v"
health status index    uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   sales    89ouBy6RQsuT34QRbn_jeQ  10   0     281502            0     15.6mb         15.6mb
green  open   customer fQCMEvXsQOu0UgMm1SAJlA   5   0      10000            0      717kb          717kb

我们利用刚才备份到OSS的快照来恢复sales索引,分别执行下面的命令:

[root@master ~]# curl -XPOST localhost:9200/sales/_close
{"acknowledged":true,"shards_acknowledged":true,"indices":{"sales":{"closed":true}}}
[root@master ~]# curl -XPOST 'http://localhost:9200/_snapshot/test/sales/_restore?pretty'
{"accepted" : true
}
[root@master ~]# curl -X GET "localhost:9200/_cat/indices?v"
health status index    uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   sales    89ouBy6RQsuT34QRbn_jeQ  10   0     271786            0       15mb           15mb
green  open   customer fQCMEvXsQOu0UgMm1SAJlA   5   0      10000            0      717kb          717kb

我们可以看到,sales索引跟之前的一致。


原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/518401.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你公司的虚拟机还闲着?基于 Jenkins 和 Kubernetes 的持续集成测试实践了解一下!...

作者 | 刘春明责编 | Carol出品 | CSDN 云计算(ID:CSDNcloud)封图| CSDN下载于视觉中国目前公司为了降低机器使用成本,对所有的AWS虚拟机进行了盘点,发现利用率低的机器中,有一部分是测试团队用作Jenkins S…

长脸了!阿里云这位英雄拿下了世界第一

阿里云数据库又被顶级机构点名了! 近日,全球最知名的数据管理系统评测标准化TPC组织公布了数据库领域分析性能基准测试最新排名,阿里云超大规模分析型数据库AnalyticDB登上榜首,是全球首个通过TPC严格审计认证的云数据库产品。 …

css-第一个CSS

建议使用分离写法 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><!-- <style>可以编写css的代码&#xff0c;每一个声明&#xff0c;最好使用分号结尾语法:选择器 {声…

跟面试官侃了半小时 MySQL 事务,把原子性、一致性、持久性的实现都讲完了

来源 | 阿丸笔记封图| CSDN下载于视觉中国提到MySQL的事务&#xff0c;我相信对MySQL有了解的同学都能聊上几句&#xff0c;无论是面试求职&#xff0c;还是日常开发&#xff0c;MySQL的事务都跟我们息息相关。而事务的ACID&#xff08;即原子性Atomicity、一致性Consistency、…

阿里云Link TEE获得全球首款GlobalPlatform TEE全配置安全认证

2019年7月12日&#xff0c;阿里云Link TEE正式获得由国际标准组织GlobalPlatform&#xff08;以下简称GP&#xff09;颁发的TEE安全评估认证证书&#xff0c;也成为全球首款获得GP TEE全配置&#xff08;支持TEE Time and Rollback PP-Module和TEE Debug PP-Module&#xff09;…

阿里云 EMAS HTTPDNS 联合函数计算重磅推出 SDNS 服务,三大能力获得突破

阿里云 EMAS HTTPDNS 联合函数计算重磅推出 SDNS 服务&#xff0c;三大能力获得突破 1. 什么是 HTTPDNS &#xff1f; 传统的 DNS&#xff08;Domain Name System&#xff09;使开发者常面临着域名劫持、调度不精准的问题。 HTTPDNS 使用 HTTP 协议替换常用的 UDP 协议&#…

是!“用Python的,全是假程序员”!HR:太真实……

某热门网站最近有一个话题引起热议&#xff1a;“用Python的&#xff0c;全是假程序员&#xff01;”题主觉得&#xff0c;Python程序员写代码量太少&#xff01;论编程能力&#xff0c;根本打不过其他程序员。那么&#xff0c;各类编程语言的程序员到底谁更强&#xff1f;我们…

【译】用SQL统一所有:一种有效的、语法惯用的流和表管理方法

现在还没有一个统一的流式SQL语法标准&#xff0c;各家都在做自己的。本文在一些业界应用的基础上提出了一个统一SQL语法的建议。Spark同样存在这个问题&#xff0c;社区版本在流式SQL上迟迟没有动作。EMR Spark在今年上半年提供了自己设计版本的流式SQL支持&#xff0c;也会在…

透过 In-memory Channel 看 Knative Eventing 中 Broker/Trigger 工作机制

In-memory Channel是当前Knative Eventing中默认的Channel, 也是一般刚接触Knative Eventing首先了解到的Channel。本文通过分析 In-memory Channel 来进一步了解 Knative Eventing 中Broker/Trigger事件处理机制。 事件处理概览 我们先整体看一下Knative Eventing 工作机制示…

css-三种基本选择器

一、标签选择器 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>/* 标签选择器&#xff0c;会选择到页面上所有的这个标签的元素 */h1{color: #12ec4e;background: …

你知道吗?其实 Oracle 直方图自动统计算法存在这些缺陷!(附验证步骤)

作者 | 吴海存责编 | Carol出品 | CSDN 云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;封图| CSDN下载于视觉中国在某些场景下&#xff0c;表中某一列的数据分布会比较崎岖&#xff0c;使得CBO(cost base optimizer)在评估执行计划的时候可能会出现误差&#xff0c;从…

开源软件 Apache Dubbo 牵手 IDE 插件,开发部署提速不止 8 倍

自从产品经理银时小伙和他的团队在去年11月发布 Cloud Toolkit&#xff08;一款 IDE 插件&#xff09;以来&#xff0c;已帮助数以万计的开发者们提高了开发、测试、诊断以及应用部署效率。期间&#xff0c;他们还发布了 Contributor Ranking List&#xff0c;和开发者们一同定…

css-层次选择器

一、后代选择器 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>/* 后代选择器 */body ul p{background: red;}body p{background: yellow;}</style> </he…

技术人具备“结构化思维”意味着什么?

阿里妹导读&#xff1a;在日常工作中&#xff0c;我们时常会碰到这样的情况&#xff0c;有的人讲事情逻辑非常混乱&#xff0c;罗列了很多事项&#xff0c;却把握不到重点&#xff0c;无法把一件事情说清楚。这种思维混乱是典型的缺少结构化思维的表现。结构化思维非常重要&…

奇奇怪怪的知识增加了,大括号的历史你知道吗?

作者 | Michael McMillan译者 | 弯月&#xff0c;责编 | 夕颜封图 | CSDN下载自视觉中国出品 | CSDN&#xff08;ID:CSDNnews&#xff09;众所周知的标志代码块起始和结尾的大括号是什么时候开始成为编程语言的一部分的呢&#xff1f;或者更重要的是&#xff0c;代码块何时成了…

5年时间,我从开发做到总裁的秘籍--如何提升技术型管理者的领导力

对于深耕技术的一线开发者而言&#xff0c;大多数都希望把技术工作进行到底&#xff0c;或者一直从事和技术技术相关性更高的工作。但随着年龄和经验的增长&#xff0c;我对管理和技术的思考越来越多、越来越深入&#xff0c;和大多数人一样&#xff0c;站在这个路口——到底继…

css-结构伪类选择器

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>/* ul的第一个子元素 */body ul li:first-child{background: #12ec4e;}/* ul的最后一个子元素 */ul li:last-child…

闲鱼无障碍是怎么在端侧实现的

Hi&#xff0c;小伙伴们还记得之前刷屏的“闲鱼为1700万人&#xff0c;打造了一条盲道”的文章吗&#xff1f; 在今年4月&#xff0c;闲鱼和深圳市信息无障碍研究会取得了联系。在沟通过程中&#xff0c;我们了解到在移动互联网时代&#xff0c;视障人士同样可以通过手机&#…

面试造飞机系列:看架构师如何设计微服务接口

来源 | 后端技术学堂责编 | Carol封图| CSDN下载于视觉中国 在微服务设计中&#xff0c;服务间接口通信设计常见的有两种方式&#xff1a;RPC 和 REST&#xff0c;关于微服务和 RPC 的更多细节&#xff0c;可以参考我上一篇文章 面试都在问的微服务&#xff0c;一文带你彻底搞…

日均处理万亿数据!Flink在快手的应用实践与技术演进之路

董亭亭&#xff0c;快手大数据架构实时计算引擎团队负责人。目前负责 Flink 引擎在快手内的研发、应用以及周边子系统建设。2013 年毕业于大连理工大学&#xff0c;曾就职于奇虎 360、58 集团。主要研究领域包括&#xff1a;分布式计算、调度系统、分布式存储等系统。 本次的分…