添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

由于服务器转变使用国内厂商华为云,原有的的微软云中使用的备份和恢复插件不在适用,进而使用华为云OBS作为数据备份存储

解决方案:

由于华为云OBS兼容aws s3协议,而Elasticsearch官方插件是支持S3插件的,所以使用s3插件进行验证

以下步骤如有不懂的地方,请评论区留言

1、Install s3 Repository Plugin

官网参考连接

https://www.elastic.co/guide/en/elasticsearch/plugins/7.8/repository-s3.html

sudo bin/elasticsearch-plugin install repository-s3

每个节点都要安装

修改elasticsearch的 jvm.options,使用ambari时在Advanced elastic-jvm目录的最下方添加

-Des.allow_insecure_settings=true

以上操作完成,必须重新启动所有节点

# http://esip地址:端口/_cat/plugins
http://10.200.1.5:12200/_cat/plugins

马上能看到所有节点安装的插件,则表示安装成功

2、华为云OBS配置及创建测试快照

华为云 Client下载

https://support.huaweicloud.com/browsertg-obs/obs_03_1003.html

下载后,一路下一步或根据需要,选择要安装到的目录。

安装成功后,选择进入客户端的方式,这里我选择AK方式登录,输入密钥进入操作界面

进入操作界面:

下载,安装成功,登录后,得到如下界面,

创建桶:点击创建bucket(桶)操作,即可创建对象存储桶,如无法创建涉及无法访问的问题,有可能是因为用户权限问题,具体还要看相关日志分析

新建文件夹:点击创建文件夹操作,即可创建文件夹,一个桶中可创建多个文件夹,用于存放不同的数据

elastic官网文档,主要是介绍的对AWS上的S3如果配置进行说明,这里主要是以国产云平台华为云上的对象存储OBS为例,因为华为云OBS是兼容S3的 ,只需要我们的Repository类型使用的是s3就行

创建es备份使用的桶,并获取访问密钥

设置OBS为快照仓库

可以在kibana中使用dev_tools来调用API进行操作,如下所示,创建了一个仓库名为es_s3_repository,其中bucket是刚才创建的桶,access_key,secret_key,endpoint根据实际情况填写,compress为true表示为会对数据进行压缩

base_path:表示放在bucket中的那个文件夹

endpoint:表示华为内网路由地址,具体表达的意思是,repository中的资源放在华为云中的哪台节点上

compress:表示是否启用压缩

更多参数请参考官网:

https://www.elastic.co/guide/en/elasticsearch/plugins/7.8/repository-s3-client.html

PUT _snapshot/es_s3_repository
  "type": "s3",
  "settings": {
    "access_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "secret_key": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "bucket": "obs-h1-01",
    "base_path":"hwcloud-test",
    "endpoint":"obs.cn-north-4.myhuaweicloud.com",
    "compress":"true"

执行之后返回为true,则为创建成功,如果返回其他错误,可能需要检查一下插件是否安装和jvm.options是否配置,集群是否重启成功,及节点中的时间是否正确。

返回结果:表示成功

查看所有仓库

GET /_snapshot/_all
    "es_s3_repository":{
        "type":"s3",
        "settings":{
            "bucket":"obs-h1-01",
            "base_path":"hwcloud-test",
            "endpoint":"obs.cn-north-4.myhuaweicloud.com",
            "compress":"true"

如果所示则表示创建成功,其实从创建repository的返回结果中就可知道是否创建成功

创建快照测试(快照名index_bak),如下为创建一个快照名为index_bak的快照,主要对library索引进行创建快照

PUT /_snapshot/es_s3_repository/index_bak?wait_for_completion=true
  "indices": "library",
  "ignore_unavailable": true,
  "include_global_state": false,
  "metadata": {
    "taken_by": "kimchy",
    "taken_because": "backup before upgrading"

此步骤结束就可在华为OBS Client中看见配分的数据资源

常用的api命令

# 查看所有的仓库
GET /_snapshot/_all
# 查看某一个具体的仓库的快照情况
GET /_snapshot/es_s3_repository/_all?pretty
# 列出所有当前正在运行的快照以及显示他们的详细状态信息
GET /_snapshot/_status?pretty
# 列出所有当前正在运行的快照以及显示他们的详细状态信息
GET /_snapshot/es_s3_repository/_status?pretty
# 查看指定快照的详细状态信息即使不是正在运行
GET /_snapshot/es_s3_repository/snapshot_2/_status?pretty
#删除某一个快照
DELETE /_snapshot/es_s3_repository/snapshot_2

3、在kibana上添加快照策略

这种创建方式,是对es上所有的所有的索引都会创建快照,这里需要注意,如果是有特殊需求可以调用API来进行创建

image-20201123192517330创建策略基本信息,这里的策略名称可以自己修改,快照名称名称,是表示一天创建一个快照,命名为snapshot加日期,频率设置为天,计划就是定时任务,这里的设置,实际上会+8h,表示为每天的凌晨08点80分进行前一天的索引快照备份(这里还没有进行验证),先以设置0:0 0:0 ,过后看看obs中触发的时间,继续找找资料,看看和elasticsearch时区设置相关,还是与centos环境时间有关

通过华为OBS客户端可查看到数据资源备份成功

至此,华为云OBS存储验证结束

4、备份的恢复 Restore indices from a snapshot

查看OBS中 repository 快照信息

GET /_snapshot/es_s3_repository/_all?pretty

得到如下结果:

恢复OBS中已经备份的数据,参考官方文档文档快速入门案例

POST /_snapshot/my_backup/snapshot_1/_restore

官方是这样说的:

默认情况下,上述api会将还原快照中的所有索引,但不还原集群状态,使用indices参数仅还原特定索引,此参数支持多种语法,如果要包括全局集群状态,include_global_state参数设置为true 。。。。

在还原OBS备份数据之前,请将原有数据删除掉

DELETE library

恢复OBS备份中的数据,这里演示只恢复library索引数据

POST /_snapshot/es_s3_repository/snapshot-2020.11.24-ank9axoqs5w_ejwdgq635a/_restore
  "indices": "library"

再次查询数据,发现数据已经回来了

以上操作更多参数及细节请参考Elasticsearch官网链接:

https://www.elastic.co/guide/en/elasticsearch/reference/7.8/snapshots-restore-snapshot.html

https://www.elastic.co/guide/en/elasticsearch/reference/5.6/modules-snapshots.html 快照和恢复模块可以将单个索引或者整个集群做一个快照并存放到远程仓库上。目前支持共享文件系统仓库和官方通过插件方式提供的其他仓库。 1、仓库注册 在创建或恢复仓库数据之前,首先需要到ElasticSearch里进... 打开防火墙端口 firewall-cmd --zone=public --add-port=9200/tcp --permanent firewall-cmd --zone=public --add-port=9200/udp --permanent firewall-cmd --zone=public --add-port=9300/tcp --permanent firewa 当产生日志的服务节点越来越多,Logstash也需要部署越来越多,扩展不好。 读取IO文件,可能会产生日志丢失。 读取文件不是实时性,中间需要引入到Kafka,日志实时发布到Kafka,Logstash订阅并实时获取消息。 面试题:Logstash数据来源有哪些? 本地文件、Kafka、数据库、Mo... 一、 中东市场,国际安防厂家活跃Milestone、Genetec、Thales、Honeywell、Bosch、Hikivision、Dahua , Tyco, Samsung, AXIS,Peclo, ISS, axxon二、除了专业存储厂家,还有大量的视频监控垂直领域存储厂家前者有EMC、IBM、Netapp、Fujitsu、 Quantum、Dell后者有Rasilent、Pivots、P... 可以通过 snapshot 保存 Elasticsearch 索引和集群的数据和状态,使用 restore 恢复快照的数据和状态。它们提供了很重要的数据备份功能,快照存储在仓库中,可以通过快照恢复到旧版本的数据。 一、快照仓库 1、仓库类型 obs版本的选择: 工作室版,优化了很多东西,缺点是不能用插件,在部分机型不稳定,因为更新的很频繁。不过这个插件不能用的说法还是停留在早起,截至到今天已经完美支持,所以在不久的将来会越来越好,如果是开发的,推荐使用这个,开发团队也是推荐使用这个。经典版。绝大部分的大主播用的都是这个版本,因为用习惯了,而且支持插件,稳定性比较强,但是性能没有前者高。 obs插件的选择: 现在主流而且... 本文基于es7.1版本。部分内容在较旧或较新版本可能不十分准确。 es提供对于运行中的集群的备份恢复功能,利用此功能可以备份整个集群(open或者started状态的分片,备份不了closed的index),或者备份指定的index。备份目标存储可以是网络文件系统NFS、Amazon S3、HDFS、Azure(将来可能不支持deprecated)、以及谷歌云存储。 对于不同es版本备份数据与... 很久没写博客了,平时都是记录到有道云笔记的:我这里直接cv笔记了,格式可能和csdn不一样,文章挺长的,我也就不一点一点向csdn写了,也可以直接看我的有道云笔记: 文档:ElasticSearchElasticSearch可视化(... 链接:http://note.youdao.com/noteshare?id=c9c68246ba3d5b1c60fc127002ea3743&sub=367E44F30FE9481087AA59757FDBE813 最近在华为云上购买了云搜索服务,基于Elasticsearch。官方提供了键访问kibana功能,但需要先登录华为云控制台,流程比较麻烦,所以考虑在本地建一个kibana直接连接。 本来以为很容易的事情,却折腾了半天。主要是开始没有明白华为的是Open Distro for Elasticsearch,需要使用对应的客户端,opendistroforelasticsearch-... 什么是OBSOBS(Object Storage Service对象存储服务)是一个基于对象的海量存储服务,提供海量、安全、高可靠、低成本的数据存储能力。 存储类别:(四种存储方式) 标准式存储 低频访问存储 归档存储 深度归档存储 OBS工具下载地址: https://support.huaweicloud.com/browsertg-obs/obs_03_1003.html 下载OBS里的文件的方式 OBS BROwser+ obsutil 可以作为云上容灾