我有用于ElasticSearch快照的S3存储库。我最近更新了存储库,使其指向新的S3存储桶。
这是我运行的PUT请求:
PUT /_snapshot/my_repository-na/
{
"type": "s3",
"settings": {
"bucket": "na-snapshots-v2",
"base_path": "my_repository-na",
"storage_class": "standard_ia"
}
}'
但是无法为此新存储桶创建第一个快照。这是我从主节点获得的日志:
[2019-02-05T07:28:43,118][INFO ][o.e.r.RepositoriesService] update repository [my_repository-na]
[2019-02-05T07:29:24,743][INFO ][c.a.p.s.SnapshotterComponent]No snapshot exists for 2019-02-04t09:00:00.000z_0 in repository my_repository-na, will attempt to create it
[2019-02-05T07:29:25,409][INFO ][o.e.s.SnapshotsService ] snapshot [my_repository-na:2019-02-04t09:00:00.000z_0/e2_XqdNaTy2dABIydgOvYQ] started
[2019-02-05T08:29:34,974][ERROR][c.a.p.s.SnapshotterComponent] Failed to create snapshot for 2019-02-04t09:00:00.000z_0 in repository my_repository-na because it timed-out
[2019-02-05T08:29:46,957][INFO ][o.e.s.SnapshotsService ] snapshot [my_repository-na:2019-02-04t09:00:00.000z_0/e2_XqdNaTy2dABIydgOvYQ] completed with state [PARTIAL]
[2019-02-05T11:21:06,108][INFO ][c.a.p.s.SnapshotterComponent] Successfully deleted snapshot 2019-02-04t09:00:00.000z_0 from repository my_repository-na
[2019-02-05T11:31:06,379][INFO ][c.a.p.s.SnapshotterComponent] No snapshot exists for 2019-02-05t09:00:00.000z_1 in repository my_repository-na, will attempt to create it
[2019-02-05T11:31:06,904][INFO ][o.e.s.SnapshotsService ] snapshot [my_repository-na:2019-02-05t09:00:00.000z_1/EqrQK9DpTieQ6DQKYCcJ4g] started
[2019-02-05T12:31:26,215][ERROR][c.a.p.s.SnapshotterComponent] Failed to create snapshot for 2019-02-05t09:00:00.000z_1 in repository my_repository-na because it timed-out
[2019-02-05T12:31:37,925][INFO ][o.e.s.SnapshotsService ] snapshot [my_repository-na:2019-02-05t09:00:00.000z_1/EqrQK9DpTieQ6DQKYCcJ4g] completed with state [PARTIAL]
从上面的日志中可以看到,它会删除第一个部分拍摄的快照并创建一个新的快照,由于相同的原因它也会失败。如果您查看上面的时间戳,每次都会在一个小时后完全超时。
这是我在数据节点中找到的堆栈跟踪:
failed to create snapshot
org.elasticsearch.index.snapshots.IndexShardSnapshotFailedException: Aborted
at org.elasticsearch.repositories.blobstore.BlobStoreRepository$SnapshotContext$AbortableInputStream.checkAborted(BlobStoreRepository.java:1339) ~[elasticsearch-6.1.1.jar:6.1.1]
at org.elasticsearch.repositories.blobstore.BlobStoreRepository$SnapshotContext$AbortableInputStream.read(BlobStoreRepository.java:1332) ~[elasticsearch-6.1.1.jar:6.1.1]
at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:82) ~[?:?]
at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:82) ~[?:?]
at com.amazonaws.services.s3.internal.InputSubstream.read(InputSubstream.java:95) ~[?:?]
at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:82) ~[?:?]
at com.amazonaws.services.s3.internal.MD5DigestCalculatingInputStream.read(MD5DigestCalculatingInputStream.java:128) ~[?:?]
at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:82) ~[?:?]
at com.amazonaws.event.ProgressInputStream.read(ProgressInputStream.java:180) ~[?:?]
at com.amazonaws.internal.SdkFilterInputStream.read(SdkFilterInputStream.java:82) ~[?:?]
at org.apache.http.entity.InputStreamEntity.writeTo(InputStreamEntity.java:140) ~[?:?]
at com.amazonaws.http.RepeatableInputStreamRequestEntity.writeTo(RepeatableInputStreamRequestEntity.java:160) ~[?:?]
at org.apache.http.impl.DefaultBHttpClientConnection.sendRequestEntity(DefaultBHttpClientConnection.java:156) ~[?:?]
感谢您的帮助!谢谢!