【Elasticsearch索引】Recovery恢复索引

文章目录

  • 索引恢复
    • 恢复列表
    • 获取恢复信息
    • 响应
    • 详细信息
    • 正在进行的恢复
    • 响应解析
    • 高级设置
  • 本地分片恢复
  • 事务日志

索引恢复

索引恢复提供了对正在进行的索引分片恢复的洞察。恢复状态可以针对特定的索引报告,也可以在集群范围内报告。

恢复列表

recovery命令是索引分片恢复的视图,包括正在进行的和已经完成的。

GET _cat/recovery?v

获取恢复信息

GET index1,index2/_recovery?human
GET /_recovery?human

响应

该索引总大小130M,有5个主分片

{"es-7.7.0-2020.10.23.11.50" : {"shards" : [{"id" : 3,   "type" : "EXISTING_STORE",   "stage" : "DONE",    "primary" : true,   "start_time" : "2020-10-23T06:56:58.414Z",  "start_time_in_millis" : 1603436218414,"stop_time" : "2020-10-23T06:56:58.533Z","stop_time_in_millis" : 1603436218533,"total_time" : "119ms",     "total_time_in_millis" : 119,"source" : {"bootstrap_new_history_uuid" : false},"target" : {"id" : "B-M3lfhbQfS88kIq64pECQ","host" : "10.253.4.67","transport_address" : "10.253.4.67:9300","ip" : "10.253.4.67","name" : "node02"},"index" : {"size" : {"total" : "26.2mb","total_in_bytes" : 27533706,"reused" : "26.2mb","reused_in_bytes" : 27533706,"recovered" : "0b","recovered_in_bytes" : 0,"percent" : "100.0%"},"files" : {"total" : 67,"reused" : 67,"recovered" : 0,"percent" : "100.0%"},"total_time" : "10ms","total_time_in_millis" : 10,"source_throttle_time" : "-1","source_throttle_time_in_millis" : 0,"target_throttle_time" : "-1","target_throttle_time_in_millis" : 0},"translog" : {"recovered" : 0,"total" : 0,"percent" : "100.0%","total_on_start" : 0,"total_time" : "100ms","total_time_in_millis" : 100},"verify_index" : {"check_index_time" : "0s","check_index_time_in_millis" : 0,"total_time" : "0s","total_time_in_millis" : 0}},。。。

详细信息

GET es-7.7.0-2020.10.23.11.50/_recovery?human&detailed=true

与以上信息相似

正在进行的恢复

GET _recovery?human&active_only=true

响应解析

字段描述
idShard ID
type恢复类型: 1、store 2、snapshot 3、replica 4、 relocating
stage恢复阶段: init: 初始化 index: 读取索引元数据并将数据从源复制到目标 start: 开启索引,并提供使用 translog: 回放事务日志 finalize: 清理 done: 完成
primary是否主分片
start_time恢复开始时间
stop_time恢复结束时间
total_time_in_millis恢复耗时
source恢复源: 存储库描述:如果是从快照恢复的话 源节点描述
target目标节点
index关于物理索引恢复的统计信息
translog关于事务日志恢复的统计信息
start关于打开和启动索引时间的统计信息

高级设置

可以设置以下专家设置来管理恢复策略。(动态更新)

PUT _cluster/settings
{"transient": {"indices.recovery.max_bytes_per_sec": "40mb"}
}默认 40mb. 

本地分片恢复

该模块在整个集群重启期间存储集群状态和分片数据。

本地网关模块在整个集群重启期间存储集群状态和分片数据。

该模块配置一般用于大型集群

以下静态设置,必须在每个主节点上设置,控制一个新选出的主应该等待多长时间,在它试图恢复集群状态和集群的数据:

gateway.expected_nodes 
预计在集群中的(数据或主)节点的数量。一旦预期数量的节点加入集群,本地分片的恢复就会开始。默认值为0gateway.expected_master_nodes 
预计在集群中的主节点的数量。一旦预期的主节点数量加入集群,本地分片的恢复就会开始。默认值为0gateway.expected_data_nodes 
预期在集群中的数据节点的数量。一旦预期数量的数据节点加入集群,本地分片的恢复就会开始。默认值为0gateway.recover_after_time 
如果没有达到预期的节点数量,恢复进程将等待配置的时间,然后再尝试恢复,这与恢复无关。如果配置了expected_nodes设置之一,则默认为5m。

一旦recover_after_time持续时间超时,只要满足以下条件,恢复就会启动:

gateway.recover_after_nodes 
要有这么多数据或主节点加入集群,就可以恢复。gateway.recover_after_master_nodes 
只要这么多主节点加入了集群,就可以恢复。gateway.recover_after_data_nodes 
只要有这么多数据节点加入集群,就可以恢复。

这些设置只在完整的集群重新启动时生效。

事务日志

对Lucene的更改只会在Lucene提交期间持久化到磁盘上,这是一个相对昂贵的操作,因此不能在每次索引或删除操作之后执行。当进程退出或硬件出现故障时,在一次提交之后或之前发生的更改将被Lucene从索引中删除。

因为Lucene提交的开销太大,无法在每个单独的更改上执行,所以每个分片副本都有一个与之关联的事务日志,称为translog。所有的索引和删除操作在被内部Lucene索引处理之后,但是在它们被确认之前,都被写到translog中。在崩溃的情况下,当分片恢复时,已经确认但在上次Lucene提交中还没有包含的最近事务可以从translog中恢复。

Elasticsearch刷新是执行Lucene提交并启动新的跨日志的过程。刷新是在后台自动执行的,以确保translog不会增长得太大,否则在恢复过程中会花费相当长的时间来重播它的操作。手动执行刷新的能力也通过API公开,尽管很少需要这样做。

默认情况下,如果Elasticsearch每5秒进行fsyncs和提交translog。持久性设置为async,或者在每个索引、删除、更新或批量请求的末尾设置为request(默认)。

更准确地说,如果设置为request, Elasticsearch只会在跨日志在主服务器和每个分配的副本上成功地同步并提交之后,向客户端报告索引、删除、更新或批量请求的成功。

index.translog.sync_intervaltranslog多长时间同步到磁盘并提交一次,而不考虑写操作。默认为5s。不允许小于100ms。index.translog.durability 是否在每个索引、删除、更新或批量请求后fsync和提交translog。此设置接受以下参数:request (默认)fsync和提交后,每个请求。在发生硬件故障时,所有已确认的写操作都已提交到磁盘。async:fsync和在后台提交每个sync_interval。在发生硬件故障时,自上次自动提交以来所有已确认的写操作都将被丢弃。index.translog.flush_threshold_size translog存储了所有还没有安全地保存在Lucene中的操作(也就是说,它们不是Lucene提交点的一部分)。尽管这些操作可用于读取,但如果分片要关闭并必须恢复,则需要对它们重新建立索引。此设置控制这些操作的最大总大小,以防止恢复时间过长。一旦达到最大大小,刷新就会发生,生成一个新的Lucene提交点。默认为512 mb。index.translog.retention.size 要保存的跨日志文件的总大小。在恢复副本时,保留更多的translog文件会增加执行基于同步操作的机会。如果translog文件不够,复制恢复将退回到基于文件的同步。默认为512 mb。7.4后不建议设置,未来会被废弃index.translog.retention.age 保存translog文件的最大持续时间。默认为12h。7.4后不建议设置,未来会被废弃

可以考虑的优化设置:

    "settings": {"translog": {"flush_threshold_size": "1gb",//内容容量到达1gb异步刷新"sync_interval": "30s",//间隔30s异步刷新(设置后无法更改)"durability": "async"//异步刷新}}}

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

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

相关文章

C++类模板详解

目录 1.模板的概念 2.类模板 1.类模板基本语法 2.类模板与函数模板区别 3.类模板中成员函数创建时机 4.类模板对象做函数参数 typeid().name() 5.类模板与继承 6.类模板成员函数类外实现 7.类模板分文件编写 #pragma once 8.类模板与友元 1.…

企业有了ERP,为什么还要上BI?

在我们以往和企业的沟通过程中,我们发现还是有相当多的一部分企业对于商业智能 BI 了解不多,或者对商业智能 BI 的理解仅停留在花花绿绿的可视化页面上,要么就是提出以下类似问题: 财务部门:BI 的财务分析指标也就是三…

【算法分析与设计】最大二叉树

📝个人主页:五敷有你 🔥系列专栏:算法分析与设计 ⛺️稳中求进,晒太阳 题目 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最…

linux rm -rf 报错badly placed ()‘s

在文件名或路径中包含了不当的字符而导致的 1.使用转义字符 可以在特殊字符前面加上反斜杠(\)进行转义,以避免它们被解释为特殊字符。删除包含括号的文件 rm -rf 文件\(1\).zip2.使用引号或单引号 可以将文件名或路径用引号或单引号括起来&a…

【C#】SixLabors.ImageSharp和System.Drawing两者知多少

欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是《C#》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。…

Spring注解之参数校验

目录 一些常用的字段验证的注解 验证请求体(RequestBody) 验证请求参数(Path Variables 和 Request Parameters) 数据的校验的重要性就不用说了,即使在前端对数据进行校验的情况下,我们还是要对传入后端的数据再进行一遍校验,避免用户绕过…

去中心化时代,品牌如何赢得确定性增长

去中心化时代下,品牌面临众多挑战。在如今复杂的环境下,有很多不确定的因素,流量、资本等等,这些都是品牌发展过程中的不确定因素,越是复杂的环境下,品牌越要保证自己核心优势,找到并放大我们的…

C语言数据结构基础-单链表

1.链表概念 在前面的学习中,我们知道了线性表,其中逻辑结构与物理结构都连续的叫顺序表,那么: 链表是⼀种物理存储结构上⾮连续、⾮顺序的存储结构,数据元素的逻辑顺序是通过链表 中的指针链接次序实现的 。 2.链表组…

electron无法设置自己的图标?渲染进程require报错?

electron无法设置自己的图标? 极有可能是图标太大,或者宽高不同 我推荐的网址icon转换 选着20x20一般就可以 渲染进程无法使用require?一直报错? webPreferences: {nodeIntegration: true, enableRemoteModule: true, contextIsolation: …

【软件设计师】多元化多方面了解多媒体技术的内容

🐓 多媒体技术基本概念 多媒体主要是指文字、声音和图像等多种表达信息的形式和媒体,它强调多媒体信息的综合和集成处理。多媒体技术依赖于计算机的数字化和交互处理能力,它的关键是信息压缩技术和光盘存储技术。 亮度 亮度是光作用于人眼时所…

GO语言学习笔记(与Java的比较学习)(二)

控制结构 if-else: 关键字 if 和 else 之后的左大括号 { 必须和关键字在同一行,如果你使用了 else-if 结构,则前段代码块的右大括号 } 必须和 else-if 关键字在同一行。这两条规则都是被编译器强制规定的。 格式如下: if cond…

linux+samba共享文件夹-window可以直接上传服务器数据(只能读取不能写入问题)

项目场景: 因为要上传本地瓦片100gb左右,下载再上传时间太长了,最后想到直接下载在服务器,但是下载瓦片软件没有linux版本,于是想到共享文件夹 问题描述 按照这个大佬文档(linuxsamba配置)一切都还好,查…

springboot 注解属性转换字典

1.注解相关功能实现 定义属性注解 import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.vehicle.manager.core.serializer.DicSerializer;import java.lang.annotation.*;/*** a…

十九、日期和时间

日期和时间 本文为书籍《Java编程的逻辑》1和《剑指Java:核心原理与应用实践》2阅读笔记 5.1 Date类 Date是JDK 1.0中java.util包下提供类,Date表示时刻,内部主要是一个long类型的值,表示特定的瞬间,可以精确到毫秒…

OpenAI划时代大模型——文本生成视频模型Sora作品欣赏(十一)

Sora介绍 Sora是一个能以文本描述生成视频的人工智能模型,由美国人工智能研究机构OpenAI开发。 Sora这一名称源于日文“空”(そら sora),即天空之意,以示其无限的创造潜力。其背后的技术是在OpenAI的文本到图像生成模…

家庭游泳池:阳台上可安装的泳池

游泳池可根据场地大小选择安装在室内或室外,这种的泳池规格尺寸相对来说较大,较适合于大型体育场馆、小区配套、健身房等场所。这款家庭泳池与之前的不太一样,不论是从池体材料还是装饰面层都有着很大的差异。 该家庭泳池规格尺寸比较固定&a…

书籍推荐|《使用 ESP32 开发物联网项目(第二版)》

随着物联网技术的迅猛发展,ESP32 因其强大的功能而备受物联网开发者的青睐。在此背景下,资深物联网专家 Vedat Ozan Oner 撰写的《使用 ESP32 开发物联网项目(第二版)》,为开发者提供了全面且深入的指南读物。 资深物…

SpringBoot整合rabbitmq-直连队列,没有交换机(一)

说明&#xff1a;本文章只是springboot和rabbitmq的直连整合&#xff0c;只使用队列生产和消费消息&#xff0c;最简单整合&#xff01; 工程图&#xff1a; A.总体pom.xml <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://…

【精选】Java项目介绍和界面搭建——拼图小游戏 上

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏 …

SpringBoot之自定义Jackson反序列化日期类型时类型转换配置类

SpringBoot之自定义Jackson反序列化日期类型转换配置类 文章目录 SpringBoot之自定义Jackson反序列化日期类型转换配置类1. SpringBoot版本2. Jackson反序列化日期类型配置类 全局自定义Jackson反序列化日期类型时,类型转换配置类,仅用于RequestBody注解接收参数时使用注意&…