elasticsearch network_error ai_generated partial

仓库验证异常:[my_repo] 验证失败:无法写入路径 [s3://bucket/backups/] 处的仓库

RepositoryVerificationException: [my_repo] verification failed: could not write to repository at path [s3://bucket/backups/]

ID: elasticsearch/snapshot-repository-verification-failure

其他格式: JSON · Markdown 中文 · English
82%修复率
84%置信度
1证据数
2024-05-22首次发现

版本兼容性

版本状态引入弃用备注
7.14.0 active
8.8.0 active
8.14.0 active

根因分析

快照仓库(S3、GCS或文件系统)由于凭据错误、网络问题或权限不足而无法访问,阻止Elasticsearch写入验证blob。

English

The snapshot repository (S3, GCS, or filesystem) is unreachable due to incorrect credentials, network issues, or insufficient permissions, preventing Elasticsearch from writing verification blobs.

generic

官方文档

https://www.elastic.co/guide/en/elasticsearch/reference/current/snapshot-restore.html

解决方案

  1. Verify S3 credentials by running: aws s3 ls s3://bucket/backups/ --profile elasticsearch-snapshot from the Elasticsearch node. If it fails, update the repository with correct credentials: PUT /_snapshot/my_repo { 'type': 's3', 'settings': { 'bucket': 'bucket', 'region': 'us-east-1', 'access_key': 'CORRECT_KEY', 'secret_key': 'CORRECT_SECRET' } }
  2. Check the Elasticsearch logs for detailed error messages (e.g., AccessDenied, 403) and fix the bucket policy to allow s3:PutObject for the Elasticsearch role. Example policy: { 'Effect': 'Allow', 'Action': 's3:PutObject', 'Resource': 'arn:aws:s3:::bucket/backups/*' }

无效尝试

常见但无效的做法:

  1. 60% 失败

    Increasing the timeout setting (e.g., repository.s3.socket_timeout) may mask the issue but does not fix underlying credential or permission problems.

  2. 90% 失败

    Recreating the repository with the same settings will fail again because the root cause (e.g., IAM role or bucket policy) is unchanged.