AWS Переопределение ElasticSearch от проблемы удаленного кластера со схемой, хостом и белым списком - PullRequest
0 голосов
/ 27 апреля 2020

Справочная информация:

  • У нас есть два AWS ElasticSearch кластера в версии 6.8 в одном и том же AWS аккаунте и регионе.
  • Нам нужно переиндексировать один из индексов от кластера 1 (источник) к кластеру 2 (dest).

Я пытался использовать API переиндексации для 6.8, как описано в документации ES

POST <https://endpoint of destination Elasticsearch>/_reindex 

    {
      "source": {
        "remote": {
          "host": "https://endpoint-of-source-elasticsearch-cluster-1.es.amazonaws.com"
        },
        "index": "source-index-name"
      },
      "dest": {
        "index": "destination-index-name"
      }
    }

Проблема:

Я получаю ошибку ниже

{
    "error": {
        "root_cause": [
            {
                "type": "x_content_parse_exception",
                "reason": "[8:3] [reindex] failed to parse field [source]"
            }
        ],
        "type": "x_content_parse_exception",
        "reason": "[8:3] [reindex] failed to parse field [source]",
        "caused_by": {
            "type": "illegal_argument_exception",
            "reason": "[host] must be of the form [scheme]://[host]:[port](/[pathPrefix])? but was [https://endpoint-of-source-elasticsearch-cluster-1.es.amazonaws.com]",
            "caused_by": {
                "type": "u_r_i_syntax_exception",
                "reason": "The port was not defined in the [host]: https://endpoint-of-source-elasticsearch-cluster-1.es.amazonaws.com"
            }
        }
    },
    "status": 400
}

Возможная причина:

  1. Параметр host должен содержать схему, хост, порт (например, https://otherhost: 9200 ) согласно do c.
  2. Удаленные хосты должны быть явно внесены в белый список вasticsearch. yaml, использующий свойство reindex.remote.whitelist

Поскольку я использую кластеры AWS, я не уверен, как следовать схеме хоста, публикации или кластеру белого списка, потому что я не Не знаю, как сделать эти изменения в кластере AWS.

Запрос помощи, если есть обходной путь. Спасибо,

1 Ответ

0 голосов
/ 05 мая 2020

К сожалению, в AWS управляемом Elasticsearch вы не сможете изменить параметры конфигурации stati c, такие как параметр reindex.remote.whitelist, потому что для настройки параметра reindex.remote.whitelist требуется модификацияasticsearch.yml. файл. Это связано с тем, что AWS управляемая служба ES и в настоящее время у клиентов нет способа получить доступ к ОС / файловой системе.

В качестве альтернативы

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

  2. Вы также можете использовать Logsta sh с плагинами Elasticsearch input и output , чтобы по существу считывать данные из индексировать в исходном домене и индексировать его в любой другой / индексный домен .

...