news 2026/6/10 0:24:24

【Elasticsearch】副本恢复机制文件级(file-based)操作级(ops-based)顶级理解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Elasticsearch】副本恢复机制文件级(file-based)操作级(ops-based)顶级理解

两种恢复最终都要**让副本的 Lucene 段文件跟主分片一致**,但“动手对象”不同:

1. **文件级(file-based)**
- 直接复制**整个段文件(.cfs、.si、.dvd …)**到副本节点
- 副本**原样替换**自己的目录,**不再逐条解析**
- 过程中**不打开 Lucene 文档**,只搬运字节;最后由副本自己打开 IndexWriter 做一次 commit 即可

2. **操作级(ops-based)**
- 不复制段文件,而是**一条条发 Translog.Operation**
- 副本收到后,**在本地的 IndexWriter 上重放**:addDocument、deleteDocument、updateDocument …
- 每条操作都会**实时写副本的 Lucene 段**,也会写副本的 translog,最后 commit

→ 所以:

- **文件级**:**主分片**的 Lucene 文件 → **副本磁盘**(字节搬运)
- **操作级**:**主分片**的 Lucene 文档 → **反序列化成操作** → **副本 IndexWriter** → **副本的 Lucene 文件**(逐条写入)

**最终都是让副本的 Lucene 段保持一致,只是路径不同:一个“整块复制”,一个“逐条重放”。**

操作级(ops-based)恢复跟**物理 translog 文件**完全无关:

1. 主分片**不读自己的 `.tlog` 文件**;
2. 用 `LuceneChangesSnapshot` **直接从 Lucene 倒排表里**按 `_seq_no` 把文档/墓碑捞出来;
3. 现场包成 `Translog.Index` / `Delete` / `NoOp` 对象发给副本;
4. 副本收到后,**在自己的 IndexWriter 上重放**这些操作,生成**自己的** Lucene 段。

因此整个流程**既不读主分片的 translog 文件,也不依赖 translog 文件做传输**,只是借用了“Translog.Operation”这个统一的数据结构而已。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:11:22

【AI工程化关键一步】:多模态Agent中Docker依赖精准控制策略

第一章:多模态 Agent 的 Docker 依赖管理在构建多模态 Agent 系统时,Docker 成为依赖隔离与环境一致性保障的核心工具。由于多模态模型通常涉及图像、文本、音频等多种处理模块,其依赖项可能包括不同版本的深度学习框架(如 PyTorc…

作者头像 李华
网站建设 2026/6/10 11:11:12

Obsidian代码执行插件完整指南:让笔记秒变编程环境

Obsidian代码执行插件完整指南:让笔记秒变编程环境 【免费下载链接】obsidian-execute-code Obsidian Plugin to execute code in a note. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-execute-code 还在为代码验证在编辑器和终端之间来回切换而烦…

作者头像 李华
网站建设 2026/6/9 23:39:55

vue基于Spring Boot框架的网咖网吧会员计费管理系统_032db0n9

目录已开发项目效果实现截图开发技术介绍系统开发工具:核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式&…

作者头像 李华
网站建设 2026/6/10 11:08:07

病毒与杀毒:入侵防御全解析

目录 一、病毒软件的入侵机制(更细节的实现逻辑) 二、杀毒软件的工作原理(核心技术的细节) 三、病毒和杀毒软件的关系:相生相克是主流,贼喊捉贼是少数非法情况 四、常见病毒类型和对应查杀方式&#xf…

作者头像 李华
网站建设 2026/6/10 16:38:15

springboot在线作业管理系统-计算机毕业设计源码74054

目 录 摘 要 Abstract 第一章 绪 论 1.1 研究背景及意义 1.2 国内外研究现状 1.3 论文组织结构 第二章 关键技术 2.1 Java语言 2.2 B/S框架 2.3 SpringBoot框架 2.4 Vue技术 2.5 MySQL数据库 第三章 系统分析 3.1 系统可行性分析 3.1.1 技术可行性 3.1.2 经济…

作者头像 李华