📜  [2]:默认发现设置不适合生产使用;至少必须配置 [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] 之一 (1)

📅  最后修改于: 2023-12-03 14:59:08.004000             🧑  作者: Mango

Elasticsearch默认发现设置不适合生产使用

在Elasticsearch集群中,节点之间需要相互发现并加入到集群中,以实现数据共享和负载均衡。Elasticsearch默认的发现设置在开发和测试环境中通常足够使用,但在生产环境中则可能会面临许多问题。

默认的发现设置并不安全,因为它启用了多播(multicast)协议,该协议转发所有脆弱的网络区域的多播包。此外,多播协议没有经过身份验证,这意味着可以轻松地伪造多播消息,并让节点加入恶意的集群,可能导致数据泄漏和性能问题。

因此,至少必须配置以下参数中的一个:

  1. discovery.seed_hosts:将种子节点的主机名或IP地址列表添加到这个参数中。这些种子节点将用于在启动时发现其他节点,以便加入集群。种子节点应该尽可能地分布在不同的物理机器上,以确保高可用性。

  2. discovery.seed_providers:如果种子节点在生产部署中很难管理或维护,则可以使用发现种子提供程序。发现提供程序可以返回与发现节点列表匹配的节点列表,并通过设置附加的安全选项来更加安全地连接。

  3. cluster.initial_master_nodes:如果您的集群中只有一个主节点时,则可以使用此选项来指定初始主节点的名称。这将用于一个主节点的集群初始化。

在生产环境中,应该使用上述选项中的至少一个来更可靠和安全地加入节点集群,并确保高可用性和高性能。

以上是Elasticsearch默认发现设置不适合生产使用的介绍,希望对您有所帮助!