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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS/OpenHarmony应用开发

OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目, 目标是面向全场景、全连接、全智能时代, 搭建一个智能终端设备操作系统的框架和平台, 促进万物互联产业的繁荣发展。 了解OpenHarmony HarmonyOS是华为通过OpenHarmony项目,结合商业…

Notepad++ 安装TextFx插件失败

据说TextFx插件是Notepad常用插件之一;有很多格式化代码的功能;下面安装一下; 插件管理里面看一下,没有这个TextFx; 根据资料,先安装NppExec; 然后下一个5.9老版本的Notepad,如下图…

Backend - Django makemigrations

目录 一、迁移命令 (一)前提 (二)生成迁移文件 (三)执行迁移 二、迁移问题 1. Error:No changes detected 2. Error:You are trying to add a non-nullable field XXX to XXX…

SpringBoot启动流程

SpringBoot启动流程 文章目录 SpringBoot启动流程SpringBoot启动流程 SpringBoot启动流程 视频链接: https://www.bilibili.com/video/BV15b4y1a7yG/?p174&spm_id_frompageDriver&vd_sourcef6debc5a79e3f424f9dde2f13891b158 看李老师讲的吧,特…

LoadBalancer将服务暴露到外部实现负载均衡Openelb-layer2模式配置介绍

目录 一.openelb简介 二.主要介绍layer2模式 1.简介 2.原理 3.部署 (1)先在集群master上开启kube-proxy的strictARP (2)应用下载openelb.yaml(需要修改镜像地址) (3)编写yam…

在winform中绘图

今天跟大家分享一下最近做的一个程序中绘图功能的实现。 先来看看实现的效果: 具体实现 页面的设计 绘图设置页面的设计如下所示: 4个label控件,控件如下所示: 2个DateEdit控件,控件如下所示: 1个ComboB…

前端笔记(三)CSS 盒子模型

结构伪类选择器 基本的结构伪类选择器 可以根据元素的结构关系来查找元素 比如列标签 li&#xff0c;使用 li:first-child { background-color: green; }就可以选中第一个该标签。 <!DOCTYPE html> <html lang"en"> <head><meta charset&q…

python-单词本|通讯录

编写程序&#xff0c;生词本。 def sayHello():print("" * 20 \n 欢迎使用生词本\n 1.查看生词本\n 2.背单词\n 3.添加新单词\n 4.删除单词\n 5.清空生词本\n 6.退出生词本\n * 20 \n)def addW(data):word input("请输入新单词&#xff1a;")trans i…

如何使用Cloudreve搭建本地云盘系统并实现随时远程访问

文章目录 1、前言2、本地网站搭建2.1 环境使用2.2 支持组件选择2.3 网页安装2.4 测试和使用2.5 问题解决 3、本地网页发布3.1 cpolar云端设置3.2 cpolar本地设置 4、公网访问测试5、结语 1、前言 自云存储概念兴起已经有段时间了&#xff0c;各互联网大厂也纷纷加入战局&#…

mfc 设置excel 单元格的列宽

CString strTL, strBR;strTL.Format(L"%s%d", GetExcelColName(cd.nCol), cd.nRow);strBR strTL;CRange rangeMerge range.get_Range(_variant_t(strTL), _variant_t(strBR));rangeMerge.put_ColumnWidth(_variant_t((long)(20))); 宽度设置函数为 &#xff1a; pu…

Nginx安装

Nginx简介 Nginx 是一个高性能的HTTP和反向代理web服务器&#xff0c;其特点是占有内存少&#xff0c;并发能力强&#xff0c;其并发能力在同类型的网页服务器中表现较好。 Nginx安装 下载地址 安装稳定版本 下载完成后进行解压 可以双击nginx.exe 启动nginx 也可以打开cm…

nginx部署和安装-后端程序多端口访问-后端代理设置

部分补充 查看nginx是否安装http_ssl_module模块 ./nginx -V 看到有 configure arguments: --with-http_ssl_module, 则已安装。 如果没有安装&#xff1a;参考文档 nginx官网地址&#xff1a;nginx: download 这里下载nginx-1.18.0稳定版tar.gz 下载后&#xff0c;利用…

JAVA全栈开发 day16_MySql01

一、数据库 1.数据储存在哪里&#xff1f; 硬盘、网盘、U盘、光盘、内存&#xff08;临时存储&#xff09; 数据持久化 使用文件来进行存储&#xff0c;数据库也是一种文件&#xff0c;像excel &#xff0c;xml 这些都可以进行数据的存储&#xff0c;但大量数据操作&#x…

【开源】基于JAVA的校园电商物流云平台

项目编号&#xff1a; S 034 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S034&#xff0c;文末获取源码。} 项目编号&#xff1a;S034&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 商品数据模块2.3 快…

【开源】基于JAVA的考研专业课程管理系统

项目编号&#xff1a; S 035 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S035&#xff0c;文末获取源码。} 项目编号&#xff1a;S035&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 考研高校模块2.3 高…

【C++11/线程相关】thread类编写多线程、mutex互斥锁和lock_guard、atomic原子类型

目录 通过thread类编写C多线程程序线程间互斥——mutex互斥锁和lock_guardmutex互斥锁lock_guard 线程间通信C11实现生产者与消费者模型 基于CAS操作的atomic原子类型 橙色 通过thread类编写C多线程程序 为什么结果没有子线程中所打印的字符串呢&#xff1f;因为通过detach进…

STM32串口通信初探:使用HAL库实现基本功能

在本文中&#xff0c;我们将探索如何使用STM32的HAL库来实现串口通信的基本功能。串口通信是一种常见的外设通信方式&#xff0c;用于在微控制器和其他外部设备之间进行数据传输。在STM32系列微控制器中&#xff0c;HAL库提供了简单且灵活的方法来实现串口通信。我们将重点讨论…

【模电】直流通路与交流通路

直流通路与交流通路 通常&#xff0c;在放大电路中&#xff0c;直流电源的作用和交流信号的作用总是共存的&#xff0c;即静态电流、电压和动态电流、电压总是共存的。但是由于电容、电感等电抗元件的存在&#xff0c;直流量所流经的通路与交流信号所流经的通路不完全相同。因此…

MySQL的多表查询

多表关系 一对多(多对一)-> 多对多-> 一对一-> 概述 概述 多表查询分类 内连接 代码演示--> -- 内连接演示 -- 1.查询每一个员工的姓名&#xff0c;及关联的部门的名称(隐式内连接实现) select emp.name, dept.name from emp,dept where emp.dept_id dept.id; …

STM32F407-14.3.11-01互补输出和死区插入

互补输出和死区插入 高级控制定时器&#xff08;TIM1 和 TIM8&#xff09;可以输出两路互补信号&#xff0c;并管理输出的关断与接通瞬间。 这段时间通常称为死区&#xff0c;用户必须根据与输出相连接的器件及其特性&#xff08;电平转换器的固有延迟、开关器件产生的延迟...&…