3.3.5. 重要的发现和集群初始化设置

未匹配的标注

在投入生产之前,应配置两个重要的发现和集群形成设置,以便集群中的节点可以彼此发现并选举一个主节点。

discovery.seed_hosts

开箱即用,无需任何网络配置,Elasticsearch 将绑定到可用的回送地址,并将扫描本地端口9300至9305,以尝试连接到在同一服务器上运行的其他节点,这里ES 提供了自动群集检查,而无需进行任何配置。

如果要与其他主机上的节点组成集群,则必须设置discovery.seed_hosts,提供集群中其他主机的列表,这些节点都具备主机资格,并且可能在其中处于活动状态并可以联系,以便为发现过程。此设置通常应包含群集中所有符合主机条件的节点的地址,是主机地址数组或逗号分隔的字符串。每个值都采用 host:port 或者 host形式(其中port默认设置为 transport.profiles.default.port,如果未设置则返回 transport.port)。注意,IPV6 主机放在方括号里。默认值是: 127.0.0.1, [::1].

cluster.initial_master_nodes

首次启动全新的 Elasticsearch 集群时,会出现集群选举 情况,该步骤确定了在第一次选举中符合主机资格的节点的集合。在开发模式中,如果没有配置了发现设置,则此步骤由节点本身自动执行。由于这种自动引导是 不安全的, 当你开启新的集群是 生产模式, 你必须明确列出首次选举中符合主机资格的节点,使用 cluster.initial_master_nodes 参数设置该列表。重新启动集群或者有新节点加入集群时,不应使用此设置。

discovery.seed_hosts:
  - 192.168.1.10:9300 
  - 192.168.1.11 
  - seeds.mydomain.com
cluster.initial_master_nodes: 
- master-node-a 
- master-node-b 
- master-node-c
  1. 端口将默认为transport.profiles.default.port,如未指定,则回退为transport.port
  2. 如果主机名解析为多个IP地址,则该节点将尝试在所有解析的地址发现其他节点
  3. 初始主节点应通过其node.name进行标识,默认为其主机名.。请确保cluster.initial_master_nodes中的值与node.name完全匹配。如果想您使用完全限定域名,例如master-node-a.example.com作为节点名称,则必须在此列表中使用完全限定名称;相反,如果node.name是没有任何尾随限定符的裸主机名,那么您还必须在cluster.initial_master_nodes中省略尾随限定符

有关更多信息,请参阅 集群初始化 and 发现和集群设置

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
上一篇 下一篇
CrazyZard
贡献者:4
讨论数量: 0
发起讨论 只看当前版本


暂无话题~