elasticsearch zen discovery

来源:互联网 发布:淘宝粉星便利店靠谱么 编辑:程序博客网 时间:2024/05/01 11:22

描述

zen是es默认的发现机制,2.0以上的版本提供了ping和unicast(单播)两个模块,1.x的版本还提供了 multicast,以前用1.7的版本es只需要配相同的集群名就可以组成一个集群了,现在必须给一个discovery.zen.ping.unicast.hosts才能发现其它节点来组成集群。

相互ping

当master节点停止或者遇到问题之后集群节点会相互ping并且产生一个新的master节点,这种相互ping会阻止一个节点和master节点出现网络闪断后,就认为master停止的情况,因为它还可以从其他节点获取master节点是否是活跃的

配置

配置 discovery.zen.minimum_master_nodes 用来表组成一个集群最少需要的合格master节点数即(node.master:true)

默认感知

es 跑了两个默认的感知线程,一个是master用来感知集群中的成员节点是否存在,另一个是成员节点感知master节点的存在(如果不存在,初始化一个选举进程)

集群状态更新

master节点是唯一能更新集群状态的节点,它发布状态的更改给成员节点,成员节点收到通知,更改之后,回复消息给master节点,master会有一个等待超时(discovery.zen.publish_timeout ),之后处理在队列中的下一个更新

无master阻塞

当集群不能产生一个master的时候,discovery.zen.no_master_block 用来配置操作的策略,它有两个配置

  1. all (节点上的所有读写操作都被拒绝,这也包括了集群api状态的读写操作)

  2. write(写操作会被拒绝,读操作能成功)

discovery.zen.no_master_block 配置的设置不影响节点基本的api,如节点信息和节点统计api

0 0
原创粉丝点击