适用版本: 6.8-8.9
1. 错误异常的基本描述 #
这条异常出现在仓库校验阶段。Elasticsearch 会在 basePath 下写入一个测试 blob,如果主节点无法完成这一步,就会抛出 RepositoryVerificationException("path ... is not accessible on master node")。
常见现象 #
POST /_snapshot/{repo}/_verify失败。- 日志明确提到
master node和basePath。 - 常见于共享存储挂载错误、对象存储权限不足或只读配置错误。
典型报错与异常栈 #
RepositoryVerificationException: path [basePath] is not accessible on master node
2. 为什么会发生这个错误 #
常见原因包括:
- 主节点对仓库路径没有读写权限。
base_path配置错误,指向了不存在或不可写路径。- 对象存储客户端虽然可初始化,但具体路径前缀不可访问。
- 主节点与其他数据节点的仓库配置不一致。
3. 如何排查和解决这个异常和解决这个异常 #
- 先检查仓库配置中的
base_path是否正确。 - 确认主节点与其他节点使用的是同一套仓库配置。
- 如果是共享文件系统,检查挂载和文件权限。
- 如果是对象存储,确认前缀路径可写且没有只读限制。
- 修复后重新执行仓库验证。
排查时需要注意的问题 #
- 这类错误通常发生在仓库校验,不是业务查询链路。
- 看到
master node时,优先检查主节点视角的权限和连通性。
4. 如何解决这个错误 #
常用修复思路 #
- 修正
base_path或底层路径权限。 - 保证所有节点使用一致仓库定义。
- 对对象存储前缀单独做可写性验证。
- 避免把只读仓库拿来做需要写测试对象的校验操作。
后续注意事项与推荐建议 #
- 仓库接入后应在所有角色节点上完成一次校验。
- 共享存储路径和对象存储前缀都应纳入变更管理。
借助 INFINI 产品提升排障效率 #
- INFINI Console 可观察仓库校验失败分布。
- INFINI Gateway 可协助审计仓库变更请求。
5. 小结 #
path [basePath] is not accessible on master node 的根因是主节点无法在仓库路径上完成验证写入。重点要查主节点权限、路径正确性和仓库一致性。
相关错误 #
- failed-to-create-blob-container-how-to-solve-this-elasticsearch-exception
- cannot-create-blob-store-how-to-solve-this-elasticsearch-exception
- failed-to-verify-repository-how-to-solve-this-elasticsearch-exception
附:日志上下文 #
BlobContainer testContainer = blobStore().blobContainer(basePath().add(testBlobPrefix(seed)));
testContainer.writeBlobAtomic("master.dat", new BytesArray(testBytes), true);
throw new RepositoryVerificationException(metadata.name(), "path " + basePath() + " is not accessible on master node", exp);





