
一. 需求背景:
源集群为714, 从集群为717, 需要进行CCR同步
二. 过程中遇到的问题:
714版本是腾讯云主推的7.x版本, 包含丰富的自研特性,因此增加了很多开源社区之外的功能, 及对应设置
717非云上主推版本, 主要面向具有特殊需求的客户, 例如为自建7.14版本以上集群, 迁移上云提供支撑
CCR 需要索引的多个settings相同, 例如主分片数, 如果源集群为714版本, 则会在索引创建时, 如果不手动指定默认增加两个配置
"merge": {
"policy": {
"auto_merge_enabled": "false",
"inactive_merge_enabled": "false"
}
},
"bulk_routing": {
"enabled": "true
}merge.policy.auto_merge_enabled及inactive_merge_enabled是714自动断合并调优的参数,为动态参数, 具体描述这路不赘述
bulk_routing是bulk路由优化参数, 为动态设置, 具体这里也不赘述
717无上述自研特性, 因此不支持配置
三. 环境准备:
提前在同一个vpc下, 创建好两个es集群, 并且需要进行CCR证书同步, 同步完成之后, 在从集群kibana上面设置远程集群
四. 问题复现及解决:
1. 在主714集群创建源索引
PUT test_ccr_leader_es-n6oxi6zq
{
"mappings": {
"properties": {
"@timestamp": {
"type": "date",
"format": "strict_date_optional_time||epoch_millis"
},
"message": {
"type": "text"
}
}
},
"settings": {
"index.number_of_shards": 2,
"index.number_of_replicas": 0,
"codec": null
}
}
# 查看索引settings
GET test_ccr_leader_es-n6oxi6zq/_settings可以看到增加了如下设置

2. 直接到从集群创建从索引
配置如下:
leader index为上面创建的 test_ccr_leader_es-n6oxi6zq
follower index命名为test_ccr_follower_es-m8w3iko4

创建成功,但是同步未进行, 处于paused状态

手动执行 resume replication, f12查看浏览器调试界面的resume接口, 可以看到报错如下
"type": "illegal_argument_exception",
"reason": "the leader index settings [{\"index.bulk_routing.enabled\":\"true\",\"index.merge.policy.auto_merge_enabled\":\"false\",\"index.merge.policy.inactive_merge_enabled\":\"false\",\"index.number_of_shards\":\"2\"}] and follower index settings [{\"archived.index.bulk_routing.enabled\":\"true\",\"archived.index.merge.policy.auto_merge_enabled\":\"false\",\"archived.index.merge.policy.inactive_merge_enabled\":\"false\",\"index.number_of_shards\":\"2\"}] must be identical"两边setting不匹配
3. 解决方案如下
修改源集群源索引test_ccr_leader_es-n6oxi6zq的settings
PUT test_ccr_leader_es-n6oxi6zq/_settings
{
"merge": {
"policy": {
"auto_merge_enabled": null,
"inactive_merge_enabled": null
}
},
"bulk_routing": {
"enabled": null
}
}4. 然后再到从集群执行创建从索引的操作, 需要先把之前创建出来的索引删除, 然后再创建
delete test_ccr_follower_es-m8w3iko4创建完成之后刷新一下,可以看到status处于Active了

5.验证:
在主索引写入几个测试文档
POST test_ccr_leader_es-n6oxi6zq/_bulk?refresh
{"index":{}}
{"@timestamp": "2025-07-28T16:00:00Z","message": "UTC时间16点整"}
{"index":{}}
{"@timestamp": "2025-07-28T00:00:00+08:00","message": "东八区时间0点整"}
{"index":{}}
{"@timestamp": "2025-07-28T00:00:00+0800","message": "东八区时间0点整"}在从集群查询, 查看是否有数据
GET test_ccr_follower_es-m8w3iko4/_search
可以看到数据同步完成了, 从集群从索引中也可以查到了
五. 总结:
在集群版本不一致的情况下, 如果从集群需要从主集群建立从索引, 但主索引中有从集群不支持的动态配置, 可以在主索引创建完成之后, 手动设置对应配置为null
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。