news 2026/5/1 8:47:50

项目应用:基于elasticsearch官网的跨集群复制配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
项目应用:基于elasticsearch官网的跨集群复制配置

以下是对您提供的博文内容进行深度润色与专业优化后的版本。整体风格更贴近一位资深 Elasticsearch 架构师在技术社区中自然、扎实、有温度的分享——既保留了原文严谨的技术内核,又大幅削弱了“AI生成感”和模板化表达,增强了可读性、逻辑连贯性与实战代入感。


CCR 不是配个 API 就完事:一个 Elasticsearch 工程师眼中的跨集群复制真相

“我们上线了 CCR,但time_behind_millis一直卡在 30 秒不动……是不是网络问题?”
“follower 索引建好了,结果发现 mapping 缺字段,leader 那边明明改过了。”
“灾备集群切过去后查不到最新数据,重启 follower 任务也没用。”

这些不是段子,而是我在三个不同客户现场听到的真实提问。每一次背后,都藏着对 CCR 表面配置之下运行机制的误判。

今天不讲“怎么配通”,我们来一起掀开 Elastic 官方文档那层薄薄的纸,看看 CCR 在底层到底干了什么、哪些设计决定了它能稳、哪些细节一踩就崩、以及为什么你写的那一行PUT /index/_ccr/follow,其实只是整个同步引擎启动前的最后一声点火。


它不是镜像,是「带状态的增量重放」

先破一个常见误解:CCR 不是索引快照的定时拷贝,也不是 Logstash 那种靠轮询_search?scroll拉数据的管道。

它的本质,是一套嵌入在 Elasticsearch 内核里的、基于 translog 的变更日志重放系统——你可以把它理解为 PostgreSQL 的 logical replication,或 MySQL 的 GTID 复制,只不过对象不是 binlog,而是 Elasticsearch 自己维护的translog+segment commit事件流。

Leader 集群每写入一条文档,不只是落盘到 segment,还会把这条操作(含 op_type、seq_no、primary_term、source)追加进一个名为_ccr_changes的专用缓冲区。这个缓冲区不是独立服务,而是 translog 的一个增强视图:它确保所有变更按全局顺序排列,并自带幂等性标记(seq_no+primary_term是唯一确定一条变更的身份证)。

Follower 集群并不“监听”leader,而是主动发起拉取请求(pull-based),每次问:“从 seq_no=12345 开始,给我最近 1000 条变更”。拿到后,在本地重建索引动作——注意,是“重建”,不是“复制”。这意味着:

  • 如果 leader 上执行了update_by_query,follower 会收到 1000 个update操作,而不是一个批量更新指令;
  • 如果 leader 上删了一个文档,follower 收到的是delete操作,哪怕该文档在 follower 上还没来得及被索引过;
  • 所有冲突(比如两个 leader 同时改同一条 doc)由 follower 本地根据seq_noprimary_term自动解决,无需人工干预。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 8:14:29

HY-MT1.5-1.8B vs 国际API:中文翻译质量实测对比报告

HY-MT1.5-1.8B vs 国际API:中文翻译质量实测对比报告 1. 为什么这次实测值得你花三分钟看完 你有没有遇到过这些情况: 给海外客户发一封正式邮件,反复修改三次,还是担心英文表达不够地道;看技术文档时卡在一段长难句…

作者头像 李华
网站建设 2026/5/1 6:10:14

AI智能文档扫描仪使用技巧:提升倾斜角度矫正成功率

AI智能文档扫描仪使用技巧:提升倾斜角度矫正成功率 1. 为什么歪斜文档总“拉不直”?先搞懂它怎么工作 你有没有遇到过这样的情况:拍完合同照片,上传到扫描工具里,结果系统要么完全没识别出四边,要么拉直后…

作者头像 李华
网站建设 2026/5/1 7:22:26

用YOLO11跑通第一个demo,我只用了10分钟

用YOLO11跑通第一个demo,我只用了10分钟 你是不是也经历过:想试试最新的目标检测模型,结果卡在环境配置上一整天?装Anaconda、建虚拟环境、配CUDA、下torch、装ultralytics……还没开始写代码,命令行已经报了7个错。 …

作者头像 李华
网站建设 2026/5/1 5:06:56

空地址太多怎么办?MGeo无效请求过滤策略

空地址太多怎么办?MGeo无效请求过滤策略 引言:当90%的请求都在“空跑” 你有没有遇到过这样的情况——刚把MGeo地址相似度模型部署上线,监控面板上QPS数字跳得挺欢,但点开日志一看,满屏都是: addr1: &qu…

作者头像 李华
网站建设 2026/5/1 5:04:26

hcia练习3

题目及要求如上 完成

作者头像 李华
网站建设 2026/5/1 4:15:59

未来终端AI形态:DeepSeek-R1-Distill-Qwen-1.5B在移动设备的实践

未来终端AI形态:DeepSeek-R1-Distill-Qwen-1.5B在移动设备的实践 你有没有试过,在手机上点开一个App,输入“帮我把这段Python代码改成支持异步的版本”,几秒后就得到完整、可运行的修改建议?不是联网调用云端大模型&a…

作者头像 李华