适用版本: 6.8-6.8
1. 错误异常的基本描述 #
这条异常说明 Azure repository 配置里有不止一个 storage setting 被标记为默认。源码在选主配置时发现第二个默认项后,会直接抛出 SettingsException。
常见现象 #
- Azure 仓库初始化失败。
- 日志里会列出两个冲突的默认配置名。
- 常见于复制配置模板后忘记取消旧默认项。
典型报错与异常栈 #
SettingsException: Multiple default Azure data stores configured: [a] and [b]
2. 为什么会发生这个错误 #
默认存储账户只能有一个,否则 Elasticsearch 无法判断应该使用哪个账户作为隐式客户端。常见原因包括:
- 多个环境配置合并时重复设置默认项。
- 手工新增账户后没去掉旧账户的默认标记。
- 模板发布覆盖不完整,导致重复默认。
3. 如何排查和解决这个异常和解决这个异常 #
- 列出当前所有 Azure client 配置。
- 找出被同时标记为默认的账户。
- 保留一个默认项,其他取消默认。
- 若不需要隐式默认,改为仓库显式指定 client。
- 修复后重新初始化仓库。
4. 如何解决这个错误 #
常用修复思路 #
- 保证只有一个默认 Azure data store。
- 显式指定仓库使用的 client,减少歧义。
- 对模板发布做唯一性校验。
后续注意事项与推荐建议 #
- 多账户场景应优先使用显式 client 名。
- 把“默认项唯一”作为配置发布前检查项。
借助 INFINI 产品提升排障效率 #
- INFINI Console 可帮助识别配置变更窗口。
- INFINI Gateway 可追溯错误配置来源。
5. 小结 #
Multiple default Azure data stores configured 的根因是默认账户不唯一。让默认项唯一,或改成显式 client,即可解决。
相关错误 #
- no-default-azure-data-store-configured-how-to-solve-this-elasticsearch-exception
- invalid-azure-client-settings-with-name-clientname-how-to-solve-this-elasticsearch-exception
- if-you-want-to-use-an-azure-repository-you-need-to-define-a-client-configuration-how-to-solve-this-elasticsearch-exception
附:日志上下文 #
if (primary == null) {
primary = setting;
} else {
throw new SettingsException("Multiple default Azure data stores configured: [" + primary.getName() + "] and [" + setting.getName() + "]");
}





