弹性搜索启动错误-默认发现设置不适合生产使用;

我尝试在 elasticsearch.yaml 文件中提供以下配置

那是我的 IPv4地址 和 http.port: 9200

当我尝试在 windows 机器上运行 elasticsearch.bat 时,对此的响应如下:

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"]

67825 次浏览

Elasticsearch 7 requires information to form a cluster. This is provided by the following two properties in elasticsearch.yml

cluster.initial_master_nodes : This is used to provide the initial set of nodes whose vote will be consider in master election process.

discovery.seed_hosts : This is used to provide the set of nodes which are master eligible. This should contain the name of all nodes which are master eligible.

So for example you are forming a cluster with three nodes : n0, n1, n2 which are master eligible then you config will look something like this:

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

Note: cluster.initial_master_nodes is used only once by elastic which is very first time of cluster formation.

For more detailed information read this guide.

This is the configuration I did since I had only one machine that had the Elastic Search db in it (1 node Only).

node.data : true
network.host : 0.0.0.0
discovery.seed_hosts : []
cluster.initial_master_nodes : []

In short, if you are running Elasticsearch locally(single node) or just with a single node on the cloud then just use below config in your elasticsearch.yml to avoid the production check, and to make it work, more info about this config in this SO answer:

discovery.type: single-node
  • I have also faced the same issue with the elastic-search 7.6.2 version. The solution of the above-mentioned problem is, you just need to either add "discovery.seed_hosts : 127.0.0.1:9300" or set discovery.type: single-node in eleasticsearch.yml file to avoid the production use error.

  • Click here for discovery and cluster formation settings.

  • I have provided the detailed answer here.

I am adding my answer from docker container perspective. I initially tried running 3 nodes of elasticsearch in a same cluster and then tried running only 1 and faced same issue. To resolve, I deleted docker volumes. Please note, my docker elasticsearch nodes had no data so there was no data loss due to docker volume deletion.

https://discuss.elastic.co/t/how-my-config-file-should-be-on-publish-mode-with-a-single-node/189034