Ошибка запуска ElasticSearch - настройки обнаружения по умолчанию не подходят для производственного использования;

Я попытался указать следующие конфигурации в файле elasticsearch.yaml

network.host: aa.bbb.ccc.dd это мой IPv4-адрес и http.port: 9200

Ответ на это выглядит следующим образом, когда я пытаюсь запустить elasticsearch.bat на моем компьютере с Windows:

the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

Я действительно не совсем уверен, что настроить для инициализации кластера. Значения по умолчанию - discovery.seed_hosts: ["host1", "host2"] и cluster.initial_master_nodes: ["node-1", "node-2"].


person SSB    schedule 16.12.2019    source источник
comment
Сколько узлов мастер узлов вы будете настраивать в своем кластере?   -  person Nishant    schedule 16.12.2019
comment
hay @OpsterESNinjaNishant, под n0, n1 и n2 вы имеете в виду IPV4-адреса других клиентских компьютеров, верно?   -  person SSB    schedule 16.12.2019
comment
Это может быть значение node.name или IPv4-адреса других узлов (эластичные экземпляры, работающие на другом компьютере), а также собственного (если он попадает в ту же категорию).   -  person Nishant    schedule 16.12.2019
comment
@OpsterESNinjaNishant ... под «эластичными экземплярами, работающими на другой машине» вы имеете в виду, что машина, пытающаяся получить доступ к машине-серверу, также должна иметь на ней эластичный поиск?   -  person SSB    schedule 17.12.2019
comment
Нет, под «эластичными экземплярами, работающими на другом компьютере» я подразумеваю все те серверные машины, на которых работает эластичный сервер, и которые должны быть частью одного кластера.   -  person Nishant    schedule 17.12.2019
comment
ну у меня есть только один сервер. Я хочу, чтобы у него был удаленный доступ, чтобы другие могли получить доступ к данным поиска. Я попробовал то, что вы сказали в разделе ответов, не работает.   -  person SSB    schedule 17.12.2019
comment
@SSB, вы долгое время не голосовали за мой ответ, было бы здорово, если бы вы могли проголосовать за ответ, если ваша проблема будет решена.   -  person user156327    schedule 05.08.2020
comment
@OpsterElasticsearchNinja Извините, я не использую stackoverflow, если у меня нет вопросов. Приношу свои извинения, я проголосовал за ваш ответ и отметил его как правильный! Спасибо! :) Проблема была решена и с конфигурациями узлов, но да, ваш ответ определенно лучше, и он работает! так отметили это правильно!   -  person SSB    schedule 12.09.2020
comment
@SSB большое спасибо за ваш голос и принятие ответа, вы действительно понимаете сообщество и даже сделали все возможное, чтобы отклонить свой собственный ответ и принять ответ другого пользователя, который является редким и очень похвальным, снимаю шляпу перед вами :)   -  person user156327    schedule 13.09.2020
comment
@SSB Если вы заметили, что это один из самых популярных вопросов по тегу elasticsearch, который был просмотрен ~ 11K раз :), поэтому наличие хорошего контента делает его более полезным для сообщества :)   -  person user156327    schedule 13.09.2020
comment
@ElasticsearchNinja Все о лучших ответах. Лучший ответ - это и есть ответ. И снова я отвечаю через месяц, потому что я не слишком часто захожу в систему. Спасибо за Ваш ответ! Уверен, что многим это помогает :);)   -  person SSB    schedule 21.10.2020
comment
@SSB, вы правы, и цените свои действия :)   -  person user156327    schedule 21.10.2020
comment
@ElasticsearchNinja, не могли бы вы поделиться своими мыслями по этому поводу? stackoverflow.com/questions/65897286 /   -  person SSB    schedule 26.01.2021


Ответы (4)


Короче говоря, если вы запускаете Elasticsearch локально (один узел) или только с одним узлом в облаке, просто используйте приведенную ниже конфигурацию в своем elasticsearch.yml, чтобы избежать производственной проверки и чтобы она работала, дополнительную информацию об этой конфигурации в этот SO ответ:

discovery.type: single-node
person user156327    schedule 01.05.2020
comment
ты спас мне день !!! - person Srikanth J; 02.04.2021
comment
Я поддерживаю это, это правильно - person Shailesh Tiwari; 01.07.2021

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

node.data : true
network.host : 0.0.0.0
discovery.seed_hosts : []
cluster.initial_master_nodes : []
person SSB    schedule 21.01.2020
comment
Я также пробовал с discovery.seed_hosts : ["localhost", "127.0.0.1"] и отлично работает. Спасибо - person Martin; 11.02.2020

Elasticsearch 7 требует информации для формирования кластера. Это обеспечивается двумя следующими свойствами в elasticsearch.yml

cluster.initial_master_nodes: используется для предоставления начального набора узлов, чей голос будет учитываться в процессе главного выбора.

discovery.seed_hosts: используется для предоставления набора узлов, которые имеют право на главный. Он должен содержать имена всех узлов, которые имеют право на владение мастером.

Так, например, вы формируете кластер с тремя узлами: n0, n1, n2, которые являются основными, тогда ваша конфигурация будет выглядеть примерно так:

cluster.initial_master_nodes: ["n0", "n1", "n2"]
discovery.seed_hosts: ["n0", "n1", "n2"]

Примечание: cluster.initial_master_nodes используется эластичными только один раз, что является самым первым случаем формирования кластера.

Для получения более подробной информации прочтите это руководство.

person Nishant    schedule 16.12.2019
comment
Этот ответ является хорошим общим советом, но ответ на этот конкретный вопрос - установить discovery.seed_hosts: ["aa.bbb.ccc.dd"] или discovery.seed_hosts: []. Любой вариант подходит для кластера с одним узлом. - person Dave Turner; 17.12.2019
comment
@DaveTurner Вы правы. Если OP хочет иметь только один кластер узлов, но я так и не получил четкого ответа на этот вопрос, когда спросил о количестве узлов. - person Nishant; 17.12.2019

  • Я также столкнулся с той же проблемой с версией elastic-search 7.6.2. Решение вышеупомянутой проблемы заключается в том, что вам просто нужно либо добавить "discovery.seed_hosts : 127.0.0.1:9300", либо установить discovery.type: single-node в eleasticsearch.yml файл, чтобы избежать ошибки производственного использования.

  • Щелкните здесь для обнаружения и создания кластера. настройки.

  • Я дал подробный ответ здесь.

person Keshav Lodhi    schedule 26.05.2020