CCR 的同步参数调优经验分享,真的挺有用,尤其是你在做 Elasticsearch 集群复制的时候。

CCR(Cross-Cluster Replication)就是个让你跨集群备份数据的机制,说白了就是 Leader 集群把数据同步到 Follower 集群上。

几个参数得重点说下,ccr.indices.recovery.max_bytes_per_sec这个限制同步速度,流量太大你 Leader 压力就上来了;ccr.indices.recovery_activity_timeout是 Leader 等 Follower 的时间,等太久直接同步失败;还有ccr.indices.recovery.internal_action_timeout,这个是单个网络求的超时值,太短也容易失败。

测试里有两个 case 典型:一个是 timeout 设置 60 秒,Leader 等太久挂了;另一个是网络求超时设置 30 秒,直接超时失败。参数太紧就容易崩,太松又影响性能,得根据实际业务流量来调。

建议你测试环境里先压一波数据,看看在哪个阈值下同步最稳。如果你平时做多集群部署或者灾备设计,这篇文档可以当个调参的快速参考。