news 2026/8/7 15:45:24

3.9 Elasticsearch-跨集群搜索(CCS)与跨集群复制(CCR)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3.9 Elasticsearch-跨集群搜索(CCS)与跨集群复制(CCR)

3.9 Elasticsearch-跨集群搜索(CCS)与跨集群复制(CCR)

1. 功能定位
  • CCS(Cross-Cluster Search):把查询请求同时发往本地与远程集群,结果聚合后统一返回,解决“数据分散、查询入口要统一”的问题。
  • CCR(Cross-Cluster Replication):把 Leader 集群的索引近实时地拖回到 Follower 集群本地,解决“数据单点、灾备/就近读”的问题。
    二者常被组合成“写集中、读分散”的多活架构:CCR 负责把数据推送到边缘,CCS 负责在边缘就能一次性查到全局数据。
2. CCS 原理解剖
  1. 协调节点收到用户请求后,解析出cluster:index列表。
  2. 如果ccs_minimize_roundtrips=true,先向各远程集群发送can-match探针,只把真正可能命中的分片加入二次请求,减少跨机房 RTT。
  3. 各集群本地执行后,将TopN 的 docID 与排序值返回协调节点;协调节点做全局归并,再拉取原始_source(只在必要时第三次往返)。
  4. 聚合、高亮、Suggest 等操作在协调节点内存中完成,最终一次性返回客户端。

版本限制:本地集群版本必须 ≥ 远程集群,且功能集需完全交集,否则行为未定义。

3. CCR 原理解剖
  • 角色:Leader Index(写入口) ↔ Follower Index(只读副本,可手动提升为 Leader)。
  • 同步粒度:以translog的 sequence number 为基准,Follower 集群周期性拉取增量操作并重放。
  • 一致性模型:最终一致,延迟通常秒级;支持断点续传,网络闪断不丢位点。
  • 前置条件
    – Leader 索引需index.soft_deletes.enabled=true(8.x 默认开启)。
    – 两集群 transport 层互通(9300 端口),并通过cluster.remote.{name}.proxy_address注册。
4. 快速配置示例

以下示例基于 8.x 单节点 Docker 环境,安全功能已关闭。

4.1 拉起两套集群
leader/docker-compose.yml

services:es-leader:image:docker.elastic.co/elasticsearch/elasticsearch:8.12.0environment:-cluster.name=leader-cluster-discovery.type=single-node-xpack.security.enabled=falseports:["9200:9200"]

follower/docker-compose.yml 把cluster.name改成follower-clusterports: ["9201:9200"]

4.2 在 Follower 侧注册远程集群

curl-XPUT http://localhost:9201/_cluster/settings -H'Content-Type: application/json'-d' { "persistent": { "cluster.remote.leader-cluster": { "mode": "sniff", "seeds": ["es-leader:9300"] } } }'

4.3 启动 CCR

# 先确保 Leader 索引已开启 soft_deletescurl-XPUT http://localhost:9200/orders# 再在 Follower 侧创建 Follower 索引curl-XPUT http://localhost:9201/orders_follower/_ccr/follow?pretty -H'Content-Type: application/json'-d' { "remote_cluster": "leader-cluster", "leader_index": "orders" }'

返回"follow_index_created": true表示同步已生效;继续往 Leader 写数据,可在 Follower 实时查到。

4.4 执行 CCS

curl-XGET http://localhost:9201/leader-cluster:orders,orders_follower/_search?pretty -H'Content-Type: application/json'-d' { "query": { "match_all": {} }, "sort": [{ "timestamp": { "order": "desc" } }] }'

一次请求即可拿到两个集群的最新订单。

5. 生产级要点
维度CCS 建议CCR 建议
网络专线 / PrivateLink,开启 TLS 并做双向认证;ping.intervalconnect.timeout根据 RTT 调优。同上,传输层复用 9300,确保带宽 ≥ 峰值索引速率 × 2。
安全Remote Cluster 使用API KeyPKI认证;搜索侧通过DLS/FLS限制字段级权限。Follower 集群对 Leader 只授予monitorread_ccr权限,最小化暴露面。
性能对滚动日志场景,把ccs_minimize_roundtrips设为true可节省 30–50% 跨机房 RT;对聚合量大场景可关闭,避免二次往返拉取_sourceFollower 拉取线程数max_outstanding_read_requests默认 12,可随网络延迟线性上调;写-heavy 场景建议单独冷/热分层,Leader 热层 SSD,Follower 冷层 HDD + ILM。
监控协调节点ccs_total_roundtripsccs_remote_failures;搜索延迟突增时优先检查跨域 DNS 与 MTU。使用GET _ccr/stats观察leader_global_checkpointfollower_global_checkpoint差值;差值持续 >5 min 需排查带宽或 GC。
灾备演练——定期做提升演练POST orders_follower/_ccr/pause_followPOST orders_follower/_ccr/unfollowPOST orders_follower/_settingsindex.blocks.write=false,确认业务侧写入口可秒级切换。
6. 常见坑位速查
  • 模板不一致:CCR 不会同步索引模板与 Ingest Pipeline,需提前在 Follower 侧建好,否则字段类型差异导致写入拒绝。
  • 同义词文件缺失:Leader 使用了自定义同义词,Follower 侧若缺少同名文件,搜索侧分词结果将不一致。
  • 滚动升级顺序:先升级 Follower,再升级 Leader;反之会造成版本不兼容,CCR 任务自动暂停。
  • 大索引初始快照超时:首次全量阶段可在 Leader 侧调大indices.snapshot.max_concurrent_operations,或先用手动 snapshot 导入基线,再启用 CCR 追增量。
7. 一句话总结

CCS 让你“像查一个集群一样查所有集群”,CCR 让你“把一个集群的数据安全快速地搬到另一个集群”;两者配合,Elasticsearch 才真正具备了跨地域、多活、读写分离的企业级能力。
更多技术文章见公众号: 大城市小农民

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

企业级Oracle RAC集群实战安装指南

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个Oracle RAC集群部署模拟器,模拟2节点RAC环境的安装过程。要求:1) 可视化展示共享存储配置(ASM) 2) 网络拓扑图展示(public/private网络) 3) 分步演示…

作者头像 李华
网站建设 2026/8/7 14:30:27

三分钟构建智能AI集群:Exo资源配额自动分配全解析

三分钟构建智能AI集群:Exo资源配额自动分配全解析 【免费下载链接】exo Run your own AI cluster at home with everyday devices 📱💻 🖥️⌚ 项目地址: https://gitcode.com/GitHub_Trending/exo8/exo 还在为家中闲置设备…

作者头像 李华
网站建设 2026/8/3 21:57:03

国产出图神器!行政边界一键填充配色、秒出专业图,附完整教程

告别繁琐,三步出图!从加载数据、自定义配色到添加指北针、比例尺等专业元素,Bigemap Pro助你轻松完成一张规范、美观的行政边界图。支持直接打印,或导出高清PDF无缝嵌入汇报PPT。一、行政边界图制作全流程详解 1. 数据加载与边界提…

作者头像 李华
网站建设 2026/8/8 3:46:18

测试精粹:资深专家的十项实战心法

测试专家的价值与时代意义 在数字化浪潮席卷全球的今天,软件质量已成为企业竞争力的核心要素。作为软件测试从业者,我们不仅是缺陷的发现者,更是质量文化的推动者。测试专家通过多年的项目历练,总结出宝贵的经验教训,…

作者头像 李华
网站建设 2026/8/7 1:09:45

完整指南:用Figma-Context-MCP实现AI助手与设计稿的智能对话

完整指南:用Figma-Context-MCP实现AI助手与设计稿的智能对话 【免费下载链接】Figma-Context-MCP MCP server to provide Figma layout information to AI coding agents like Cursor 项目地址: https://gitcode.com/gh_mirrors/fi/Figma-Context-MCP 想要让…

作者头像 李华
网站建设 2026/8/8 5:47:38

AI 正在“吃光内存”,NVIDIA与SK海力士把目光投向了 NAND

继大规模蚕食DRAM市场后,英伟达与SK海力士计划推出性能提升近10倍的"AI SSD",引发NAND供应警报。随着AI产业重心从训练转向推理,技术栈需全面升级以构建低延迟、高吞吐环境,行业正聚焦通过NAND芯片打造推理优化的AI存储…

作者头像 李华