ES 快照到 S3 并从 Windows 共享目录恢复(qbit)

前言

  • 业务需要将 Elasticsearch 快照到 AWS S3,再将快照拷贝到 Windows 系统,并恢复到 Elasticsearch。如下图所示:

    image.png

  • 环境

    Elasticsearch 7.10.1
    Windows Server 2019
    Ubuntu 20.04 (ES 宿主)

ES 集群1 安装 S3 插件

  • 官方文档: https://www.elastic.co/guide/...
  • 应在 ES 集群的所有节点上安装插件
  • 下载 S3 插件和 SHA hash,并上传到 ES 服务器
  • 查看并校验

    # ll -ah
    total 4.6M
    drwxr-xr-x 2 qhy qhy 4.0K Mar  9 01:55 ./
    drwxr-xr-x 7 qhy qhy 4.0K Mar  9 01:50 ../
    -rw-rw-r-- 1 qhy qhy 4.6M Mar  9 01:55 repository-s3-7.10.1.zip
    -rw-rw-r-- 1 qhy qhy  154 Mar  9 01:55 repository-s3-7.10.1.zip.sha512# shasum -a 512 -c repository-s3-7.10.1.zip.sha512 
    repository-s3-7.10.1.zip: OK
  • 安装

    # /usr/share/elasticsearch/bin/elasticsearch-plugin install file:///home/qhy/es_down/repository-s3-7.10.1.zip
    -> Installing file:///home/qhy/es_down/repository-s3-7.10.1.zip
    -> Downloading file:///home/qhy/es_down/repository-s3-7.10.1.zip
    [=================================================] 100%   
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @     WARNING: plugin requires additional permissions     @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    java.lang.RuntimePermission accessDeclaredMembers
    java.lang.RuntimePermission getClassLoader
    java.lang.reflect.ReflectPermission suppressAccessChecks
    java.net.SocketPermission * connect,resolve
    java.util.PropertyPermission es.allow_insecure_settings read,write
    See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
    for descriptions of what these permissions allow and the associated risks.Continue with installation? [y/N]y
    -> Installed repository-s3
  • 重启 ES 服务

ES 集群1 添加 KEY

  • 官方文档: https://www.elastic.co/guide/...
  • 应在 ES 集群的所有节点上添加 key
  • 查看有哪些 key

    /usr/share/elasticsearch/bin/elasticsearch-keystore list
    
  • 添加 access_key

    /usr/share/elasticsearch/bin/elasticsearch-keystore add s3.client.default.access_key
  • 添加 secret_key

    /usr/share/elasticsearch/bin/elasticsearch-keystore add s3.client.default.secret_key
  • 重载配置

    POST _nodes/reload_secure_settings

创建 S3 快照仓库

  • 官方文档: https://www.elastic.co/guide/...
  • 注意中国区不支持 region,用 endpoint 替代
PUT _snapshot/my_s3_repository
{"type": "s3","settings": {"endpoint": "s3.cn-northwest-1.amazonaws.com.cn","bucket": "zt-hadoop-cn-northwest-1","base_path": "es_snapshot", "max_snapshot_bytes_per_sec": "200mb",  # 调整快照创建的速度,默认 40mb"max_restore_bytes_per_sec": "200mb"    # 调整快照恢复的速度,默认无限制}
}
  • 查看所有注册的快照仓库
GET _snapshot/_all
  • 删除快照仓库
DELETE _snapshot/my_s3_repository
  • 调整集群恢复分片速度和并发数
PUT _cluster/settings 
{"transient": {"indices.recovery.max_bytes_per_sec": "200mb",  # 默认 40mb"cluster.routing.allocation.node_concurrent_recoveries": "5"    # 默认 2}
}
  • 查看集群配置(包括默认配置)
GET _cluster/settings?flat_settings&include_defaults

创建快照

  • 官方文档: https://www.elastic.co/guide/...
PUT /_snapshot/my_s3_repository/snapshot_zt
{"indices": "zt_product_doc_index_20210223_3","ignore_unavailable": true,"include_global_state": false
}
  • 查看一个my_s3_repository仓库下的所有快照
GET _snapshot/my_s3_repository/_all
  • 查看 snapshot_zt 快照的概要状态
GET _snapshot/my_s3_repository/snapshot_zt
  • 查看 snapshot_zt 快照的详细状态
GET _snapshot/my_s3_repository/snapshot_zt/_status
  • 删除快照
DELETE _snapshot/my_s3_repository/snapshot_zt

从 S3 恢复快照

  • 官方文档: https://www.elastic.co/guide/...

    POST /_snapshot/my_s3_repository/snapshot_zt/_restore
    {"indices": "zt_product_doc_index_20210223_3","index_settings": {
    "index.number_of_replicas": 0},"rename_pattern": "zt_product_doc_index_20210223_3","rename_replacement": "zt_product_doc_index_20210223_3_restore"
    }
  • 增加副本

    PUT zt_product_doc_index_20210223_3_restore/_settings
    {"index.number_of_replicas" : "1"
    }

从 Windows 共享目录恢复快照

  • 已将 S3 上的文件拷贝到 Windows 的共享目录,并挂载到 ES 集群2 服务器的 /mnt/winshare 目录

    # tree -d /mnt/winshare/
    /mnt/winshare/
    └── es_snapshot└── indices└── kM6SVcCrTUGjP-634aDUYg├── 0├── 1└── 2
  • Linux 挂载 Windows 共享目录参见: Ubuntu 20.04 读写 Windows 10 共享目录
  • 在 elasticsearch.yml 文件中添加如下配置,并重启 ES 服务

    path.repo:
    - /mnt/winshare
  • 创建 Windows 系统的快照仓库

    PUT /_snapshot/my_backup
    {
    "type": "fs",
    "settings": {"location": "/mnt/winshare/es_snapshot"
    }
    }
  • 官方文档

    POST /_snapshot/my_backup/snapshot_zt/_restore
    {
    "indices": "zt_product_doc_index_20210223_3",
    "index_settings": {"index.number_of_replicas": 0
    },
    "rename_pattern": "zt_product_doc_index_20210223_3",
    "rename_replacement": "zt_product_doc_index_20210223_3_smb"
    }
  • 增加副本

    PUT zt_product_doc_index_20210223_3_smb/_settings
    {
    "index.number_of_replicas" : "1"
    }
本文出自  qbit snap

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

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

相关文章

进入软件的世界

选择计算机 上高中的时候,因为沉迷于网络游戏,于是对计算机产生了浓厚的兴趣,但是那个时候对于计算机的了解还是非常肤浅的。上大学的时候,也就义无反顾的选择了计算机专业,其实并不是一个纯粹的计算机专业&#xff0…

4G基站BBU、RRU、核心网设备

目录 前言 基站 核心网 信号传输 前言 移动运营商在建设4G基站的时候,除了建设一座铁塔之外,更重要的是建设搭载铁塔之上的移动通信设备,这篇博客主要介绍BBU,RRU以及机房的核心网等设备。 基站 一个基站有BBU,…

直观清晰的带你了解KMP算法(超详细)

KMP算法用来找某个字符串是否存在某个连续的真子串的 下面举一个例子让抽象的KMP算法更加直观,有助于理解 首先我们要了解KMP算法首先要找到一个next数组来表示主串中每一个字符的回退的下标(这个下标是对于真子串而言的,主串不需要回退&…

Apache solr XXE 漏洞(CVE-2017-12629)

任务一: 复现环境中的漏洞 任务二: 利用XXE漏洞发送HTTP请求,在VPS服务器端接受请求,或收到DNS记录 任务三: 利用XXE漏洞读取本地的/etc/passwd文件 1.搭建环境 2.开始看wp的时候没有看懂为什么是core,然…

Linux中的网络配置

本章主要介绍网络配置的方法 网络基础知识查看网络信息图形化界面修改通过配置文件修改 1.1 网络基础知识 一台主机需要配置必要的网络信息,才可以连接到互联网。需要的配置网络信息包括IP、 子网掩码、网关和 DNS 1.1.1 IP地址 在计算机中对IP的标记使用的是3…

哈希与哈希表

哈希表的概念 哈希表又名散列表,官话一点讲就是: 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记…

中缀表达式转后缀表达式(详解)

**中缀表达式转后缀表达式的一般步骤如下: 1:创建一个空的栈和一个空的输出列表。 2:从左到右扫描中缀表达式的每个字符。 3:如果当前字符是操作数,则直接将其加入到输出列表中。 4:如果当前字符是运算符&a…

dll动态链接库【C#】

1说明: 在C#中,dll是添加 【类库】生成的。 2添加C#的dll: (1)在VS中新建一个Windows应用程序项目,并命名为TransferDll。 (2)打开Windows窗体设计器,从工具箱中为窗体添加相应的控件。 (3)在该应用程序的“解决方案资源管理”中的“引用”文件上单击鼠标右键, 在…

10、外观模式(Facade Pattern,不常用)

外观模式(Facade Pattern)也叫作门面模式,通过一个门面(Facade)向客户端提供一个访问系统的统一接口,客户端无须关心和知晓系统内部各子模块(系统)之间的复杂关系,其主要…

STM32通用定时器

本文实践:实现通过TIM14_CH1输出PWM,外部显示为呼吸灯。 通用定时器简介 拥有TIM2~TIM5、TIM9~TIM14 一共10个定时器,具有4路独立通道,可用于输入捕获、输出比 较,同时包含了基本定时去的所有功能。 通用定时器的结…

【Linux | 编程实践】防火墙 (网络无法访问)解决方案 Vim常用快捷键命令

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

字符串函数strlen的用法详解及其相关题目

strlne函数的使用 一.strlen函数的声明二.strlen函数的头文件三.相关题目代码1代码2题目1题目2题目3题目4题目5题目6 一.strlen函数的声明 size_t strlen ( const char * str );二.strlen函数的头文件 使用strlen函数我们需要使用以下头文件 #include <string.h>三.相…