首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Elasticsearch快照在AWS中失败,防止升级

Elasticsearch快照在AWS中失败,防止升级
EN

Stack Overflow用户
提问于 2021-02-18 06:43:08
回答 1查看 1.3K关注 0票数 0

我在Elasticsearch中的增量式的Elasticsearch现在正在失败。我什么都没碰,好像什么都没变,不知道出了什么问题。

我通过以下操作检查了我的SnapshotsGET _cat/snapshots/cs-automated?v&s=id并找到了一个失败的GET _cat/snapshots/cs-automated?v&s=id的细节:

GET _snapshot/cs-automated/adssd....

它显示了这个堆栈跟踪:

代码语言:javascript
运行
复制
java.nio.file.NoSuchFileException: Blob object [YI-....] not found: The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; Request ID: 21...; S3 Extended Request ID: zh1C6C0eRy....)
    at org.elasticsearch.repositories.s3.S3RetryingInputStream.openStream(S3RetryingInputStream.java:92)
    at org.elasticsearch.repositories.s3.S3RetryingInputStream.<init>(S3RetryingInputStream.java:72)
    at org.elasticsearch.repositories.s3.S3BlobContainer.readBlob(S3BlobContainer.java:100)
    at org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.readBlob(ChecksumBlobStoreFormat.java:147)
    at org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.read(ChecksumBlobStoreFormat.java:133)
    at org.elasticsearch.repositories.blobstore.BlobStoreRepository.buildBlobStoreIndexShardSnapshots(BlobStoreRepository.java:2381)
    at org.elasticsearch.repositories.blobstore.BlobStoreRepository.snapshotShard(BlobStoreRepository.java:1851)
    at org.elasticsearch.snapshots.SnapshotShardsService.snapshot(SnapshotShardsService.java:505)
    at org.elasticsearch.snapshots.SnapshotShardsService.access$600(SnapshotShardsService.java:114)
    at org.elasticsearch.snapshots.SnapshotShardsService$1.doRun(SnapshotShardsService.java:386)
    at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractPrioritizedRunnable.doRun(ThreadContext.java:763)
    at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)

不知道如何解决这个问题--我现在可以更长时间地升级我的索引了,我检查了这个页面:中解决快照错误。,但仍然在挣扎。我已经试过删除一整堆的起诉书了。我可以尝试恢复一个旧的Snapshot。我还删除了一些用于跟踪ILM和.lock索引的.lock指示符,但没有任何帮助。很烦人。

如注释中所要求的,

代码语言:javascript
运行
复制
GET /_cat/repositories?v
id           type
cs-automated   s3

GET /_cat/snapshots/cs-automated生成大量快照,所有这些快照都是处于状态的PARTIAL

代码语言:javascript
运行
复制
2020-09-08t01-12-44.ea93d140-7dba-4dcc-98b5-180e7b9efbfa PARTIAL 1599527564 01:12:44 1599527577 01:12:57 13.4s  84 177 52 229
2021-02-04t08-55-22.8691e3aa-4127-483d-8400-ce89bbbc7ea4 PARTIAL 1612428922 08:55:22 1612428957 08:55:57   35s 208 793 31 824
2021-02-04t09-55-16.53444082-a47b-4739-8ff9-f51ec038cda9 PARTIAL 1612432516 09:55:16 1612432552 09:55:52 35.6s 208 793 31 824
2021-02-04t10-55-30.6bf0472f-5a6c-4ecf-94ba-a1cf345ee5b9 PARTIAL 1612436130 10:55:30 1612436167 10:56:07 37.6s 208 793 31 824
2021-02-04t11-......
EN

回答 1

Stack Overflow用户

发布于 2021-02-21 07:35:27

快照以部分状态结束的原因是由于S3存储库YI-.文件不见了。,这是存储库损坏的明显案例,

java.nio.file.NoSuchFileException: Blob对象易-..。找不到:指定的键不存在。(服务: S3;状态代码: 404;错误代码: NoSuchKey;请求ID: 21.;S3扩展请求ID: zh1C6C0eRy.)

当集群负载严重(JVM > 80%或CPU利用率>80%),并且很少节点退出集群时,就会发现这种存储库损坏。

解决此问题的一种方法是删除所有引用“YI-.”索引的快照。这将清除索引I-.的S3快照文件.现在,当你拍下新的快照时,一切都重新开始了。

为了更安全起见,我建议联系AWS支持来修复这种类型的存储库损坏。

Elasticsearch参考在elasticsearch版本7.8及以上版本中修复的类似问题:https://github.com/elastic/elasticsearch/issues/57198

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66254892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档