【问题标题】:ElasticSearch Backup on Windows and Restore on LinuxWindows 上的 ElasticSearch 备份和 Linux 上的还原
【发布时间】:2020-05-07 17:57:27
【问题描述】:

我正在尝试在 Windows 上的 ElasticSearch 6.2.2 中备份索引,并在 Linux 上的 ElasticSearch 6.2.3 上恢复它。我正在采取以下步骤,但我从未在 linux 机器上看到快照(基于https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html):

在 Windows 上注册一个快照存储库

PUT /_snapshot/my_backup
{
   "type": "fs",
   "settings": {
      "location": "C:\\EsBackup",
      "compress": true
  }
}

在 Windows 上创建快照

PUT /_snapshot/my_backup/bcp?wait_for_completion=true
{
"indices":"myindex"
}

检查是否创建了快照

GET /_snapshot/my_backup/bcp

显示成功

{
  "snapshots": [
    {
      "snapshot": "bcp",
      "uuid": "xGLvw4JnRqadcyg4fxH1HA",
      "version_id": 6020299,
      "version": "6.2.2",
      "indices": [
        "bcp"
      ],
      "include_global_state": true,
      "state": "SUCCESS",
      "start_time": "2018-05-10T16:48:22.970Z",
      "start_time_in_millis": 1525970902970,
      "end_time": "2018-05-10T16:48:36.816Z",
      "end_time_in_millis": 1525970916816,
      "duration_in_millis": 13846,
      "failures": [],
      "shards": {
        "total": 3,
        "failed": 0,
        "successful": 3
      }
    }
  ]
}

我将文件复制到 linux 并检查文件的大小和数量是否相同。 (大约 200 个文件,大小为 500MB)。我将所有内容复制到一个文件夹~/elasticsearch-6.2.3/backup

初始化存储库

curl -X PUT "localhost:9200/_snapshot/my_backup" -H 'Content-Type: application/json' -d'{"type": "fs","settings": {"location": "~/elasticsearch-6.2.3/backup","compress": true}}'

并得到确认:{"acknowledged":true}

所以我检查了哪些快照可用

curl -X GET "localhost:9200/_snapshot/my_backup/_status"

但是列表是空的{"snapshots":[]}

并恢复

curl -X POST "localhost:9200/_snapshot/my_backup/bcp/_restore?pretty"

返回错误

{
  "error" : {
    "root_cause" : [
      {
        "type" : "snapshot_restore_exception",
        "reason" : "[my_backup:bcp] snapshot does not exist"
      }
    ],
    "type" : "snapshot_restore_exception",
    "reason" : "[my_backup:bcp] snapshot does not exist"
  },
  "status" : 500
}

我错过了什么步骤?我试图 _verify 存储库,它是有效的。版本 6.2.2 和 6.2.3 应该兼容。

【问题讨论】:

    标签: elasticsearch restore


    【解决方案1】:

    elasticsearch.yml文件中添加以下内容:

    path.repo: /path/to/repo
    

    【讨论】:

      【解决方案2】:

      我不知道为什么,但是主路径不能使用〜,但如果声明为"/home/user/elasticsearch-6.2.3/backup"那么它可以工作

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多