首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从ES 2.x迁移到ES 5.x Elasticsearch

从ES 2.x迁移到ES 5.x Elasticsearch
EN

Stack Overflow用户
提问于 2017-01-30 21:01:17
回答 2查看 717关注 0票数 2

我们已经创建了新的ES集群v5.x。我们添加了用于恢复的新备份存储库(旧的ES 2.x)。我们已经从快照中恢复,一切正常。我们有ES快照的保留期。我们使用s3存储和存储库-S3插件进行备份。虽然我们的保留期已经删除了此快照,但我们收到了一个错误:

代码语言:javascript
复制
{

    "error": {
        "root_cause": [
            {
                "type": "snapshot_missing_exception",
                "reason": "[s3_repository:snapshot_201701040203/snapshot_201701040203]  is missing"
            }
        ],
        "type": "snapshot_exception",
        "reason": "[s3_repository:snapshot_201701040203/snapshot_201701040203] Snapshot could not be read",
        "caused_by": {
            "type": "snapshot_missing_exception",
            "reason": "[s3_repository:snapshot_201701040203/snapshot_201701040203]  is missing",
            "caused_by": {
                "type": "no_such_file_exception",
                "reason": "Blob object [snap-snapshot_201701040203.dat] not found: The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; Request ID: DB308DF310809F58)"
            }
        }
    },
    "status": 500

}

完整日志:

代码语言:javascript
复制
[2017-01-30T13:18:57,344][WARN ][r.suppressed             ] path: /_snapshot/s3_repository/_all, params: {repository=s3_repository, snapshot=_all}
org.elasticsearch.snapshots.SnapshotException: [s3_repository:snapshot_201701040203/snapshot_201701040203] Snapshot could not be read
        at org.elasticsearch.snapshots.SnapshotsService.snapshots(SnapshotsService.java:187) ~[elasticsearch-5.1.2.jar:5.1.2]
        at org.elasticsearch.action.admin.cluster.snapshots.get.TransportGetSnapshotsAction.masterOperation(TransportGetSnapshotsAction.java:122) [elasticsearch-5.1.2.jar:5.1.2]
        at org.elasticsearch.action.admin.cluster.snapshots.get.TransportGetSnapshotsAction.masterOperation(TransportGetSnapshotsAction.java:50) [elasticsearch-5.1.2.jar:5.1.2]
        at org.elasticsearch.action.support.master.TransportMasterNodeAction.masterOperation(TransportMasterNodeAction.java:86) [elasticsearch-5.1.2.jar:5.1.2]
        at org.elasticsearch.action.support.master.TransportMasterNodeAction$AsyncSingleAction$3.doRun(TransportMasterNodeAction.java:170) [elasticsearch-5.1.2.jar:5.1.2]
        at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:527) [elasticsearch-5.1.2.jar:5.1.2]
        at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-5.1.2.jar:5.1.2]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_111]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_111]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Caused by: org.elasticsearch.snapshots.SnapshotMissingException: [s3_repository:snapshot_201701040203/snapshot_201701040203]  is missing
        at org.elasticsearch.repositories.blobstore.BlobStoreRepository.getSnapshotInfo(BlobStoreRepository.java:566) ~[elasticsearch-5.1.2.jar:5.1.2]
        at org.elasticsearch.snapshots.SnapshotsService.snapshots(SnapshotsService.java:182) ~[elasticsearch-5.1.2.jar:5.1.2]
        ... 9 more
Caused by: java.nio.file.NoSuchFileException: Blob object [snap-snapshot_201701040203.dat] not found: The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; Request ID: 38087D5B4A20B627)
        at org.elasticsearch.cloud.aws.blobstore.S3BlobContainer.readBlob(S3BlobContainer.java:92) ~[?:?]
        at org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat.readBlob(ChecksumBlobStoreFormat.java:100) ~[elasticsearch-5.1.2.jar:5.1.2]
        at org.elasticsearch.repositories.blobstore.BlobStoreFormat.read(BlobStoreFormat.java:89) ~[elasticsearch-5.1.2.jar:5.1.2]
        at org.elasticsearch.repositories.blobstore.BlobStoreRepository.getSnapshotInfo(BlobStoreRepository.java:560) ~[elasticsearch-5.1.2.jar:5.1.2]
        at org.elasticsearch.snapshots.SnapshotsService.snapshots(SnapshotsService.java:182) ~[elasticsearch-5.1.2.jar:5.1.2]

我已经尝试删除这个快照存储库,删除所有的索引。但是如果我再次添加这个存储库,我会得到相同的错误。如何恢复ES?ES在哪里获取有关旧快照的信息?

诚挚的问候。

EN

回答 2

Stack Overflow用户

发布于 2017-02-01 04:28:45

我今天遇到了这个问题。我的情况略有不同,但这可能会对你有所帮助。看起来ES 5在存储桶中维护快照索引,而ES 2.x没有。

在我的场景中,我将从2.x过渡到5.x。昨天,我将我的2.x环境创建的一堆快照恢复到了5.x环境。昨天晚上,我的2.x环境创建了另一个快照。当我恢复快照时,我得到一个错误,即快照不存在(即使它存在)。

如果我重命名s3存储桶中的两个文件,ES5将重新构建它的索引并查看新的快照。这两个文件是: index-0和index.latest。

希望这能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2017-09-25 23:33:00

我得到了一个类似的问题,并按照这个建议解决了它:https://discuss.elastic.co/t/migration-from-es-2-x-to-es-5-x/73211/6 (在我的例子中,删除index-0文件并在我的ES5中重新注册存储库)

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

https://stackoverflow.com/questions/41936588

复制
相关文章

相似问题

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