面试题答案
一键面试- 节点角色配置:
- 节点需配置为候选主节点,通过
node.master: true
配置项设置。只有设置为候选主节点,才有资格参与选主流程。
- 节点需配置为候选主节点,通过
- 集群状态认知:
- 候选节点必须对集群状态有一定认知。它需要能够发现集群中的其他节点,并且能够正确理解集群当前的拓扑结构等相关状态信息。这依赖于节点间的通信机制,例如通过
discovery.zen.ping.unicast.hosts
配置指定可发现的节点列表,确保节点能互相发现并交换状态信息。
- 候选节点必须对集群状态有一定认知。它需要能够发现集群中的其他节点,并且能够正确理解集群当前的拓扑结构等相关状态信息。这依赖于节点间的通信机制,例如通过
- 选举票数:
- 候选节点需要获得超过半数的投票才能成为主节点。在一个有
N
个候选主节点的集群中,一个候选节点至少需要(N/2)+1
张投票。例如,若有5个候选主节点,至少需要3张投票才能当选主节点。这是为了保证选出的主节点具有广泛的认可和代表性,以维持集群的稳定性。
- 候选节点需要获得超过半数的投票才能成为主节点。在一个有
- 集群健康状况:
- 集群健康状况需满足一定条件。例如,集群中大部分节点(默认超过半数)需处于正常运行状态,候选节点才能参与有效的选主流程。如果集群中故障节点过多,导致正常运行的节点数不足半数,选主可能无法正常进行,或者即使选出主节点,集群也难以维持稳定的运行状态。
- 版本兼容性:
- 候选节点的Elasticsearch版本需要与集群中其他节点兼容。不兼容的版本可能导致选主流程出现问题,因为不同版本在选主算法、数据结构等方面可能存在差异。例如,高版本的新特性在低版本中不存在,可能导致选主流程无法正确执行。