79

我尝试在 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"]

4

5 回答 5

151

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

discovery.type: single-node
于 2020-05-01T17:18:37.270 回答
33

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

node.data : true
network.host : 0.0.0.0
discovery.seed_hosts : []
cluster.initial_master_nodes : []
于 2020-01-21T11:28:55.233 回答
10

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

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

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

因此,例如,您正在形成一个具有三个节点的集群 : n0, n1n2它们是主节点,那么您的配置将如下所示:

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

注意:cluster.initial_master_nodes弹性仅使用一次,这是簇形成的第一次。

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

于 2019-12-16T04:45:27.243 回答
9
  • 我的版本也遇到了同样的问题elastic-search 7.6.2。上述问题的解决方法是,只需在文件中添加"discovery.seed_hosts : 127.0.0.1:9300"或设置即可,避免生产使用错误。discovery.type: single-nodeeleasticsearch.yml

  • 单击此处进行发现和集群形成设置。

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

于 2020-05-26T20:07:05.180 回答
0

我正在从 docker 容器的角度添加我的答案。我最初尝试在同一个集群中运行 3 个弹性搜索节点,然后尝试只运行 1 个节点并遇到同样的问题。为了解决这个问题,我删除了 docker 卷。请注意,我的 docker elasticsearch 节点没有数据,因此不会因 docker 卷删除而丢失数据。

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

于 2021-11-25T00:44:51.603 回答