Резервное копирование ElasticSearch в Windows и восстановление в Linux - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь сделать резервную копию индекса в ElasticSearch 6.2.2 в Windows и восстановить его в ElasticSearch 6.2.3 в Linux. Я делаю следующие шаги, но я никогда не вижу снимки на машине 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 файлов размером 500 МБ). Я копирую все в папку ~/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
}

Какой шаг я пропускаю? Я пытался проверить хранилище, и оно действительно. Версии 6.2.2 и 6.2.3 должны быть совместимы.

1 Ответ

0 голосов
/ 19 мая 2018

Я не уверен, почему, но домашний путь не может использовать ~, но если указано как "/home/user/elasticsearch-6.2.3/backup", тогда он работает

...