repository-s3插件致Elasticsearch集群快照不同步问题排查
问题原因及解决方法
核心原因
Elasticsearch集群注册S3仓库后,会本地缓存仓库的快照元数据。你的只读集群在注册仓库时,目标S3路径还未生成新快照,且集群不会主动定期扫描S3仓库更新元数据,因此无法识别后续新增的快照。
补充说明:
- 仓库的只读模式仅限制写入操作,不影响快照读取,但不会触发自动的元数据刷新
- 两个独立K8s上的Elasticsearch集群无元数据同步机制,完全依赖各自的本地缓存
解决方法
在只读集群上执行刷新仓库元数据的操作,强制集群重新扫描S3仓库获取最新快照列表:
POST /_snapshot/backup_name_2_5k/_refresh
或者通过验证仓库配置同步元数据:
POST /_snapshot/backup_name_2_5k/_verify
执行完成后,查询快照列表即可看到新创建的快照:
GET /_snapshot/backup_name_2_5k/_all
额外建议
若需只读集群自动识别新快照,可参考以下方案:
- 通过定时任务定期在只读集群上执行仓库元数据刷新操作
- 确保两个Elasticsearch集群版本一致(当前均为7.10.2,符合要求)
- 确认只读集群拥有S3目标路径的读取权限(已成功注册只读仓库,权限无问题)
内容的提问来源于stack exchange,提问作者Vishrant
相关产品推荐
相关产品推荐

