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
- 端口将默认为
transport.profiles.default.port
,如未指定,则回退为transport.port
- 如果主机名解析为多个IP地址,则该节点将尝试在所有解析的地址发现其他节点
- 初始主节点应通过其
node.name
进行标识,默认为其主机名.。请确保cluster.initial_master_nodes
中的值与node.name
完全匹配。如果想您使用完全限定域名,例如master-node-a.example.com
作为节点名称,则必须在此列表中使用完全限定名称;相反,如果node.name
是没有任何尾随限定符的裸主机名,那么您还必须在cluster.initial_master_nodes
中省略尾随限定符
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。