ElasticSearch 启动错误——默认发现设置不适合生产使用;

SSB*_*SSB 60 startup elasticsearch elasticsearch-7

我试过在 elasticsearch.yaml 文件中给出以下配置

network.host: aa.bbb.ccc.dd 那是我的 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"]

Ami*_*wal 114

简而言之,如果您在本地运行 Elasticsearch(单节点)或仅使用云上的单个节点,那么只需在您的配置中使用以下配置elasticsearch.yml以避免生产检查,并使其工作,在此 SO答案中提供有关此配置的更多信息:

discovery.type: single-node
Run Code Online (Sandbox Code Playgroud)

  • 这应该是默认配置,至少有注释。 (13认同)
  • 如果您像我一样尝试从 docker 运行 elasticsearch,那么您应该传递下一个环境变量 - `-e "discovery.type=single-node"`。摘自官方文档 https://hub.docker.com/_/elasticsearch (6认同)
  • 多么传奇啊,可惜配置文件中没有注释来提供帮助 (2认同)

SSB*_*SSB 28

这是我所做的配置,因为我只有一台装有 Elastic Search 数据库的机器(仅限 1 个节点)。

node.data : true
network.host : 0.0.0.0
discovery.seed_hosts : []
cluster.initial_master_nodes : []
Run Code Online (Sandbox Code Playgroud)

  • 我还尝试过 `discovery.seed_hosts : ["localhost", "127.0.0.1"]` 并且效果很好。谢谢 (3认同)

Nis*_*ini 8

Elasticsearch 7 需要信息才能形成集群。这是由elasticsearch.yml中的以下两个属性提供的

cluster.initial_master_nodes :这用于提供在主选举过程中将考虑其投票的初始节点集。

discovery.seed_hosts:这用于提供符合主节点资格的节点集。这应该包含所有符合主节点条件的节点的名称。

因此,例如,你正在形成一个集群三个节点:n0n1n2这是主资格,那么你的配置将是这个样子:

cluster.initial_master_nodes: ["n0", "n1", "n2"]
discovery.seed_hosts: ["n0", "n1", "n2"]
Run Code Online (Sandbox Code Playgroud)

注意:cluster.initial_master_nodeselastic 只使用一次,这是集群形成的第一次。

有关更多详细信息,请阅读本指南

  • 这个答案是很好的一般建议,但这个具体问题的答案是设置 `discovery.seed_hosts: ["aa.bbb.ccc.dd"]` 或 `discovery.seed_hosts: []`。在单节点集群中,两者都可以。 (6认同)
  • @DaveTurner你是对的。如果OP只想拥有一个节点集群,但当我询问节点数量时,我从未得到明确的答案。 (2认同)

Kes*_*dhi 6

  • 我也遇到了与elastic-search 7.6.2版本相同的问题。上述问题的解决方案是,您只需要在文件中添加"discovery.seed_hosts : 127.0.0.1:9300"或设置即可避免生产使用错误。discovery.type: single-nodeeleasticsearch.yml

  • 单击此处了解发现和集群形成设置。

  • 在这里提供了详细的答案。