Ошибка при обновлении на основе псевдонима и шаблона вasticsearch 5.6.0 - PullRequest
1 голос
/ 10 июня 2019

Я сталкиваюсь со странной проблемой при опрокидывании определенного псевдонима.Ошибка:

{
  "error": {
    "root_cause": [
      {
        "type": "illegal_argument_exception",
        "reason": "index name [twitter] does not match pattern '^.*-\\d+$'"
      }
    ],
    "type": "illegal_argument_exception",
    "reason": "index name [twitter] does not match pattern '^.*-\\d+$'"
  },
  "status": 400
}

У меня есть шаблон, как показано ниже:

{
     "template": "twitter-*",
     "settings": {
       "number_of_shards": 3
     },
     "mappings" : {
           "user" : {
             "properties" : {
                "name" : { "type" : "text" },
                    "id" : { "type" : "text" }
              }
          }
      }
 }

И список псевдонимов

 GET /_aliases
{
  "twitter": {
    "aliases": {}
  },
  ".kibana": {
    "aliases": {}
  },
  "twitter-2019.06.09-1": {
    "aliases": {
      "twitter-alias": {}
    }
  },
  "twitter123": {
    "aliases": {}
  }
}

У меня естьсозданный twitter-2019.06.09-1 из твиттер-индекса с помощью снимка и процесса восстановления.

Всякий раз, когда я пытаюсь выполнить переход после ролловера вручную (я настраивал его куратором), я сталкиваюсь с ошибкой выше.

#Running manual rollover
POST /twitter-alias/_rollover/
{
  "conditions": {
    "max_age":   "7d",
    "max_docs":  1
  }
}

twitter-2019.06.09-1 имеет следующие 3 записи:

GET twitter-2019.06.09-1/user/_search?size=0
{
  "took": 44,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 3,
    "max_score": 0,
    "hits": [ ]
  }
}

Я попытался удалить индекс Twitter, потому что он бесполезен, но та же ошибка произошла от rollover api.

Пожалуйста, помогите.

Обновление:

После прочтения ниже сообщения: https://discuss.elastic.co/t/rollover-failing/153676/5

Я обновил список псевдонимов шаблона и индекса, как показано ниже:

#Creating template for new index creation
PUT _template/template_1
{
  "template": "twitter-*",
  "settings": {
    "number_of_shards": 3
  },
"mappings" : {
        "user" : {
            "properties" : {
                "name" : { "type" : "text" },
                "id" : { "type" : "text" }
            }
        }
    },
    "aliases":
    {
    "search-all":{}
    }
}

И индекс:

GET twitter-2019.06.09-1
{
  "twitter-2019.06.09-1": {
    "aliases": {
      "search-all": {},
      "twitter-alias": {}
    },
    "mappings": {
      "user": {
        "properties": {
          "id": {
            "type": "text"
          },
          "name": {
            "type": "text"
          }
        }
      }
    },
    "settings": {
      "index": {
        "creation_date": "1559904447882",
        "number_of_shards": "1",
        "number_of_replicas": "1",
        "uuid": "DnUZcHiyQIi2ab8XVKKVuA",
        "version": {
          "created": "5060099"
        },
        "provided_name": "twitter"
      }
    }
  }
}

Проблема по-прежнему решена.

Я заметил

"условии_имя": "twitter"

при проверке информации индекса.

Связано ли это с указанной выше ошибкой?Это не должно быть твиттер.Это ошибка?

Моя структура переименования индекса была:

#Taking snapshot
PUT /_snapshot/eaa-backup/twitter_snapshot
{
  "indices": "twitter",
  "ignore_unavailable": true,
  "include_global_state": false
}

И восстановление:

#Now restore with new name
POST /_snapshot/eaa-backup/twitter_snapshot/_restore
{
 "indices": "twitter",
 "ignore_unavailable": "true",
 "include_global_state": false,
 "rename_pattern": "twitter",
 "rename_replacement": "twitter-2019.06.09-1"
 }

Пожалуйста, помогите выяснить причину вышеуказанной ошибки.Кроме того, я опубликовал ту же проблему в упругих дискуссиях, но, похоже, понадобятся дни, чтобы найти там помощь.Итак, размещение здесь.Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 11 июня 2019

Кроме ответа @ untergeek.Ниже была причина проблемы:

На самом деле, я попробовал сегодня утром и обнаружил тот же самый @untergeek, упомянутый после того, как сделал все свежим.Как-то кажется, что при переименовании индекса с помощью моментального снимка и восстановления (ref: here ) свойство

"provided_name": "twitter"

(описание в заданном вопросе) было неправильно установлено, и именно поэтому я былсталкиваюсь с проблемой.Должно быть установлено значение

twitter-2019.06.09-1

Проблема не с именем индекса, а с вышеуказанным свойством.

Мой сценарий включает переименование индекса, а затем переворачивание.

0 голосов
/ 11 июня 2019

Я уже ответил на это здесь , но включите ответ, который я дал там для справки.

Обычно индексы ролловера должны заканчиваться тире и числом (чтобы обойти это, нужно пройти через обходы с вызовами API ролловера). Куратор проверял индекс, связанный с вашим псевдонимом ролловера (который равен twitter в вставленном блоке), который не заканчивается тире и числом.

Я не совсем уверен, что ты делаешь неправильно. Вот рабочий пример:

PUT twitter-2019.06.09-1
{
  "aliases": {
    "twitter-alias": {
      "is_write_index": true
    }
  }
}

PUT twitter-alias/_doc/1
{
  "doc1": "dummy_doc1"
}
PUT twitter-alias/_doc/2
{
  "doc2": "dummy_doc2"
}

РЕЗУЛЬТАТ:

{
  "acknowledged" : true,
  "shards_acknowledged" : true,
  "old_index" : "twitter-2019.06.09-1",
  "new_index" : "twitter-2019.06.09-000002",
  "rolled_over" : true,
  "dry_run" : false,
  "conditions" : {
    "[max_docs: 1]" : true
  }
}

Дополнительно:

GET twitter-alias

Урожайность:

{
  "twitter-2019.06.09-000002" : {
    "aliases" : {
      "twitter-alias" : {
        "is_write_index" : true
      }
    },
    "mappings" : {...},
    "settings" : {
      "index" : {
        "creation_date" : "1560216263049",
        "number_of_shards" : "1",
        "number_of_replicas" : "1",
        "uuid" : "kMd6jt_dSWKSCW4ertSuLg",
        "version" : {
          "created" : "7010099"
        },
        "provided_name" : "twitter-2019.06.09-000002"
      }
    }
  },
  "twitter-2019.06.09-1" : {
    "aliases" : {
      "twitter-alias" : {
        "is_write_index" : false
      }
    },
    "mappings" : {...},
    "settings" : {
      "index" : {
        "creation_date" : "1560216199250",
        "number_of_shards" : "1",
        "number_of_replicas" : "1",
        "uuid" : "zjIKove5SXqAXSEfseYpQg",
        "version" : {
          "created" : "7010099"
        },
        "provided_name" : "twitter-2019.06.09-1"
      }
    }
  }
}
...