gpt4 book ai didi

elasticsearch - 在 Elasticsearch 中存储库_missing_exception 快照和还原

转载 作者:行者123 更新时间:2023-12-04 05:40:58 25 4
gpt4 key购买 nike

我必须将 Windows 机器上的 Elasticsearch 索引传输到 Ubuntu 机器。我决定拍摄索引的快照,然后尝试在另一个系统上恢复它。

我成功地在 Windows 机器上对索引进行了快照。
elasticsearch.yml 中的 windows 机器上我有 path.repo: ["F:\\mount\\backups"] .

所以,在 mount 下我有:

.
└── backups
└── old_backup
├── index
├── indices
│   └── old_index
│   ├── 0
│   ├── 1
│   ├── 2
│   ├── 3
│   ├── 4
│   └── meta-snapshot_to_ubuntu.dat
├── meta-snapshot_to_ubuntu.dat
└── snap-snapshot_to_ubuntu.dat

哪里 snapshot_to_ubuntu是我在 Windows 上制作的快照的名称。

我将此快照放在 ~/Documents/mount在 ubuntu 机器上,用 path.repo: ["/home/animesh/Documents/mount/backups"] 启动 ES 2.3.0 的一个实例在 elasticsearch.yml .

我在命令行上运行以下命令:
curl -XGET localhost:9200/_snapshot/old_backup/snapshot_to_ubuntu?pretty=1

并得到
{
"error" : {
"root_cause" : [ {
"type" : "repository_missing_exception",
"reason" : "[old_backup] missing"
} ],
"type" : "repository_missing_exception",
"reason" : "[old_backup] missing"
},
"status" : 404
}

我哪里错了?

更新 :

我运行了以下 curl 命令:
curl -X POST http://localhost:9200/_snapshot/old_backup/snapshot_to_ubuntu/_restore

我得到:
{
"error": {
"root_cause": [
{
"type": "repository_missing_exception",
"reason": "[old_backup] missing"
}
],
"type": "repository_missing_exception",
"reason": "[old_backup] missing"
},
"status": 404
}

最佳答案

我有一个类似的问题,我想与您分享我是如何解决这个问题的。
我会写所有步骤,希望它也可以帮助其他人。
我不得不将 GCP 服务器上的 Elasticsearch 索引传输到我的本地机器。我决定拍摄索引的快照,然后尝试在我的本地机器上恢复它。
我假设您已经拥有快照/s
步骤是:

  • 使用要恢复的快照在本地计算机上创建一个目录
  • 导航至 elasticsearch.yml文件。例如,在我的本地机器上,您可以在此处找到该文件:/usr/local/Cellar/elasticsearch/7.8.1/libexec/config/elasticsearch.yml
  • 添加存储库路径:path.repo: [PATH_TO_BACKUP_DIR]elasticsearch.yml文件。例如:path.repo: ["/mount/backups", "/mount/longterm_backups"]
  • 保存、退出并重启elasticsearch
  • 重启所有节点后,可以使用以下命令注册名为my_fs_backup的共享文件系统存储库。
  • curl -X PUT "localhost:9200/_snapshot/my_fs_backup?pretty"-H 'Content-Type: application/json' -d'
    {
    “类型”:“fs”,
    “设置”:{
    "location": "PATH_TO_BACKUP_DIR",//示例:location": "/usr/local/etc/elasticsearch/elastic-backup"
    “压缩”:真
    }
    }'
  • 检查您的配置:curl -X GET "localhost:9200/_snapshot/_all?pretty"
  • 从快照恢复:
    8.1 获取所有快照: curl -X GET "localhost:9200/_snapshot/my_fs_backup/*?pretty

  • 你会看到这个画面:
    enter image description here
    选择你想要的快照(如果你有多个)
    使用此命令恢复:
    curl -X POST "localhost:9200/_snapshot/BACKUP_NAME/SNAPSHOT_ID/_restore?pretty" -H 'Content-Type: application/json' -d'
    {
    "indices": "users, events",
    "ignore_unavailable": true,
    "include_global_state": true
    }
    例如:
     curl -X POST "localhost:9200/_snapshot/my_fs_backup/elastic-snapshot-2020.09.05-lwul1zb9qaorq0k9vmd5rq/_restore?pretty" -H 'Content-Type: application/json' -d'
    {
    "indices": "users, events",
    "ignore_unavailable": true,
    "include_global_state": true
    }
    注意我只导入了 2 个索引 usersevents希望能帮到你😃
    更多信息和扩展教程:
    Elastic website , jee-appy blogspot

    关于elasticsearch - 在 Elasticsearch 中存储库_missing_exception 快照和还原,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37232325/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com