Modules
Discovery and cluster formation
- 参数
- 常用且重要参数
- discovery.seed_hosts: 集群
master eligible
节点列表 - discovery.seed_providers: 指定使用哪种
seed hosts provider
。默认值是:discovery.seed_hosts
,之前版本(7.0之前)是discovery.zen.hosts_provider
,这种方式在未来版本中会被移除 - discovery.type: 指明ES是不是要组成一个多节点集群。默认是
multiple-node
,single-node
表示ES将组建一个单节点集群 - cluster.initial_master_nodes: Sets the initial set of master-eligible nodes in a brand-new cluster.
- discovery.seed_hosts: 集群
Discovery
- 构建集群从
seed host providers
开始,在已知集群中,有master-eligible
的节点 - 每个节点探测
seed addresses
,识别是否可连接;分享远程已知的master-eligible
节点列表;继续探测,找master
节点;如果实在找不大,就在master-eligible
中进行选举 - 核心参数
- discovery.find_peers_interval:默认 1s
- discovery.seed_hosts
seed host providers
可以配置提供,也可以在文件中提供,配置demo如下:
discovery.seed_hosts:
- 192.168.1.10:9300
- 192.168.1.11
- seeds.mydomain.com
discovery.seed_providers: unicast_hosts.txt
# unicast_hosts.txt
10.10.10.5
10.10.10.6:9305
10.10.10.5:10005
# an IPv6 address
[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:9301
Quorum-based decision making
- Quorum 需要仔细考虑,以防集群出现脑裂问题
- 集群可以 增加、删除
master eligible
节点 voting configuration
是master eligible
节点 的集合,负责选举 master 或者 提交更新集群状态。一个决策当由一半以上voting configuration
节点反馈才会生效。- 任何
master eligible
都可以发起选举(选举自己为master
),第一发起者会成为master
,当两个同时发生时,重新选举。为了减少同时发起选举的概率,任何节点发起选举的时间都是随机的。
voting configuration
- set of
master eligible
,大部分情况,就是所有master eligible
。voting configuration
的决定需要耗费比较长时间,如果集群中有些不稳定、或者测试节点,是不应该进入voting configuration
的,这是为什么它是 a set ofmaster eligible
- 选举 master、提交集群状态信息 需要半数以上的
voting configuration
回应 voting con