美文网首页
ElasticSearch Discovery

ElasticSearch Discovery

作者: 白奕新 | 来源:发表于2020-03-05 00:14 被阅读0次

0、detail

(1)Discovery模块作用:

  • 集群内部发现节点
  • master选举
  • 失败探测

(2)Zen Discovery是Discovery默认的实现。在v7.x+ Zen Discovery被废弃。

1、network

(1) transport
  • transport是集群内部节点通讯的模块。
(2) http
  • http模块用于接收http客户端的请求
参数 含义 其他
http.port 接收请求的port
http.host 接收请求的地址

2、module

(1) 节点发现
  • 分Multicast(多播)跟Unicast(单播)两种。多播:在网络里面寻找集群加入,在低版本里面是默认的zen方式,在v2.x被废弃。单播:加入一个已经设定好的集群列表中,是es推荐的方式。建议列表里面包含了所有master eligible节点。
参数 含义 其他
discovery.zen.ping.unicast.hosts 单播要加入的初始节点列表 早期版本的参数
discovery.seed_hosts 单播要加入的初始节点列表 在v7.x以上使用这个参数
(2)、master election

(2)important parameter

parameter meaning other
discovery.zen.minimum_master_nodes 规定elected master需要当前集群中有最少多少个master-eligible-nodes加入自己,才能选举master;也规定了当前集群中最少需要有多少个master-eligible-nodes,否则当前master会退下,集群重新发起选举 配置成"(master_eligile_nodes / 2) + 1”数量,避免脑裂。在7.x的版本中被废弃。es改进了选举模块,改成es内部自己去决定哪些节点能形成quorum,也避免了因为这个参数设置不合理导致的集群危险。

(3)other

  • 所有master-eligible都能开始一次election,但是当2个election同时启动的时候则可能会失败,需要进一步election。为了避免这种情况,在每个node上election的启动都是随机的。
(3)、other
  • voting confuguration:默认等于所有master-eligible节点的集合。master的选举以及集群状态的变化需要过半的voting configuration节点反应。ES内部会自动维护这个队列的节点,保持奇数个节点,避免脑裂

查看当前集群的voting队列。

GET _cluster/state?filter_path=metadata.cluster_coordination.last_committed_config&pretty

会得到一个机器名,查看

GET _nodes
参数 含义 其他
cluster.initial_master_nodes 集群初始化的时候指定使用,指定初始master-eligible节点 理论上配置在一台master-eligible配置一台(例如自己)就可以了。但是为了保险可以配置给三台,三台上面都按相同顺序配置了这三台为这个参数。集群起来以后这个参数就没用了。不要在master-ineligible节点上配置
discovery.zen.no_master_block 控制当没有master时候什么操作会被禁止 all:所有操作都会被reject;write:写操作会被reject(默认)。在7.x以上的版本改成"cluster.no_master_block"

相关文章

网友评论

      本文标题:ElasticSearch Discovery

      本文链接:https://www.haomeiwen.com/subject/eybglhtx.html