【ES实战】使用HDFS插件实现索引快照和恢复

news/2024/5/20 4:51:54 标签: elasticsearch, hdfs, hadoop

文章目录

  • Snapshot And Restore
    • Hadoop HDFS Repository Plugin
      • 使用前提
      • 查看插件
      • 创建仓库
      • 查看仓库
      • 创建快照
      • 查看快照进度
      • 恢复快照
      • 查看快照的状态
      • 删除快照
      • 跨集群使用

Snapshot And Restore

快照和恢复有以下作用

  • 数据的备份
  • 数据的迁移
  • 版本升级

下面介绍利用HDFS实现快照和恢复

Hadoop HDFS Repository Plugin

使用repository-hdfs插件,可以实现将ES的索引的快照数据写入HDFS和从HDFS上的ES快照中恢复索引数据。

使用前提

  • ES集群的每一个节点上都安装了repository-hdfs插件
  • ES节点在启动的时候加载了repository-hdfs插件的plugin-security.policy权限。5.X版本可以在jvm.options配置文件中新增内容:-Djava.security.policy=file:///{path}/plugin-security.policy,{path}为到插件repository-hdfs在服务器上的绝对路径。6.X版本后,不需要配置这个了
  • 在HDFS中新建用户,与启动es进程的Linux用户名相同。并对相应的HDFS路径进行读写授权。

查看插件

验证是否安装了repository-hdfs插件。

GET /_cat/plugins?v

创建仓库

PUT _snapshot/repository1
{
  "type": "hdfs",
  "settings": {
    "uri": "hdfs://127.0.0.1:9000/",
    "path": "elasticsearch/repositories/repository1",
    "compress": "true",
    "max_restore_bytes_per_sec": "40mb",
    "max_snapshot_bytes_per_sec": "40mb"
  }
}

查看仓库

看是否存在hdfs类型的快照仓库。

GET /_cat/repositories 

查看仓库配置,可以看到HDFS仓库的一些配置,比如:HDFS地址,是否压缩,创建快照的速率,恢复的速率等。

GET _snapshot/repository1

查询结果

{
    "repository1": {
        "type": "hdfs",
        "settings": {
            "path": "elasticsearch/repositories/repository1",
            "max_restore_bytes_per_sec": "40mb",
            "compress": "true",
            "uri": "hdfs://127.0.0.1:9000",
            "max_snapshot_bytes_per_sec": "40mb"
        }
    }
}

创建快照

PUT /_snapshot/repository1/snapshot-20211214-001
{
  "indices": "indexName1,indexName2",
  "ignore_unavailable": false,
  "include_global_state": true,
  "partial": false
}

查看快照进度

GET /_cat/snapshots/repository1?v&s=id

恢复快照

在恢复快照时可以进行索引名称的修改

POST /_snapshot/repository1/snapshot-20211214-001/_restore
{
  "indices": "index_1,index_2",
  "ignore_unavailable": true,
  "include_global_state": true,
  "rename_pattern": "index_(.+)",
  "rename_replacement": "restored_index_$1"
}

在恢复快照的时候可以对索引的一些配置进行重新设置。

POST /_snapshot/repository1/snapshot-20211214-001/_restore
{
  "indices": "indexName1,indexName2",
  "index_settings": {
    "index.number_of_replicas": 0
  },
  "ignore_index_settings": [
    "index.refresh_interval"
  ]
}

查看快照的状态

GET /_snapshot/repository1/snapshot-20211214-001,snapshot_1/_status

删除快照

DELETE /_snapshot/repository1/snapshot-20211214-001

跨集群使用

当需要跨集群实现快照和恢复的时候,在各自的集群中创建同样的仓库,使用相同的HDFS配置即可。


http://www.niftyadmin.cn/n/1096914.html

相关文章

flutter 点击旋转动画_闲鱼Flutter互动引擎系列——整体设计篇

作者:闲鱼技术-然道0. 什么是Candy引擎​ Candy引擎是闲鱼技术团队设计开发的一款APP嵌入式的、轻量级的、易于开发、性能稳定的互动引擎。其中游戏系列符合业界标准,绘制系统高度融合Flutter体系,游戏场景和Flutter UI可以无缝混排&#xff…

Linux学习笔记(4)----vi编辑器的使用

vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方…

获取数据_SQL注入获取数据的几种原理

什么是SQL注入呢。SQL注入就是WEB应用没对用户输入的数据进行限制和检查,导致恶意攻击者可以通过网页的显示情况不同甚至是直接显示数据而获取数据库数据的一种攻击方式。首先看下回显注入,这个简单,这个SQL注入是由于浏览器没有对URL后面id的…

Python3 实例(三) | 菜鸟教程(二十一)

目录 一、Python 二分查找 二、Python 线性查找 三、Python 插入排序 四、Python 快速排序 五、Python 选择排序 六、Python 冒泡排序 七、Python 归并排序 一、Python 二分查找 (一)二分搜索是一种在有序数组中查找某一特定元素的搜索算法。 &a…

【ES实战】如何规划索引

文章目录如何去规划一个索引新建索引调整索引整个索引的调整主分片的调整副本分片数的调整删除索引和过期数据如何去规划一个索引 规划索引包含如何调整索引的主分片数,副本分片数和分片存储大小,以及如何根据数据量的变化进行相关的调整。 索引规划的…

Introduction to my galaxy engine 5: Differed Lighting

忙碌了好几天终于把deffered lighting做出了个雏形。其实关键就是局部灯光范围的检测。这里我是通过depth fail test和读写stencil value 来实现的。以下是每一步的截图: 这幅图是将场景物体的法向量渲染到第一个render target texture的RGB值 这幅图是将场景物体的…

字符串反转后压缩空格拼接(python一行代码实现)

题目:将一个带有空格的字符串压缩成只用一个空格分隔,并将空格分隔的每一部分反转。 例如: 输入字符串:“abc def ghi” 最终输出:“cba fed ihg” 方法解析:首先将字符串按照空格进行分割&am…

【ES实战】reindex API的使用

Reindex API的使用 可以用来处理大分片和数据迁移,以及索引规整 文章目录Reindex API的使用使用前提主要功能使用举例本集群复制将源索引的部分字段进行复制到目标索引使用脚本脚本修改文档和文档元数据重新路由目标索引文档跨集群复制索引修改目标字段名称分片手动…