news 2026/4/23 13:53:23

【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/4/21 16:16:36

立达标讯的核心主张:我们不止提供信息,更为你降低“不确定性”

立达标讯的核心价值主张:不止于连接信息,更在于降低商业决策的“不确定性” 在信息过载的时代,获取信息本身已不再是核心难题。真正的挑战在于,如何在繁杂、有时甚至矛盾的信息中,提炼出对商业决策真正有效的信号&…

作者头像 李华
网站建设 2026/4/22 21:47:19

【高级进阶】Docker Buildx推送性能优化:缩短CI构建时间达60%的方法

第一章:Docker Buildx镜像推送的核心价值Docker Buildx 扩展了 Docker 的原生构建能力,使得开发者能够在多架构环境下高效构建并推送容器镜像。其核心价值不仅体现在跨平台支持上,更在于与现代 CI/CD 流程的无缝集成,提升交付效率…

作者头像 李华
网站建设 2026/4/22 4:27:03

VSCode远程调试实战(量子级连接优化全公开)

第一章:VSCode 远程调试的量子服务连接在现代分布式系统开发中,量子计算服务的远程调试需求日益增长。VSCode 凭借其强大的扩展生态,成为连接和调试远程量子服务的首选工具。通过配置 Remote-SSH 和 Quantum Development Kit(QDK&…

作者头像 李华
网站建设 2026/4/22 19:47:26

vue基于Spring Boot框架的无人智慧超市系统 供应商 人脸识别_2bs30484

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

作者头像 李华
网站建设 2026/4/14 12:04:24

vue基于Spring Boot框架的网上家庭烹饪学习系统的设计与实现_j980oaou

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

作者头像 李华