当前位置:首页 > 开发 > 软件应用 > 正文

Elasticsearch模块功能之-自动发现(Discovery)

发表于: 2014-10-15   作者:aoyouzi   来源:转载   浏览:
摘要: Elasticsearch模块功能之-自动发现(Discovery)   自动发现(Disovery) 该模块主要负责集群中节点的自动发现和Master节点的选举。节点之间使用p2p的方式进行直接通信,不存在单点故障的问题。Elasticsearch中,Master节点维护集群的全局状态,比如节点加入和离开时进行shard的重新分配。  自动发现机制在目前版本(1.3.1

Elasticsearch模块功能之-自动发现(Discovery)

 

自动发现(Disovery)

该模块主要负责集群中节点的自动发现和Master节点的选举。节点之间使用p2p的方式进行直接通信,不存在单点故障的问题。Elasticsearch中,Master节点维护集群的全局状态,比如节点加入和离开时进行shard的重新分配。

 自动发现机制在目前版本(1.3.1)提供了四种选择,一种是默认实现,其他都是通过插件实现。

1.      Azure discovery 插件方式,多播

2.      EC2 discovery 插件方式,多播

3.      Google Compute Engine (GCE)discovery 插件方式多播

4.      zen discovery默认实现 多播/单播

 

多播配置下,节点向集群发送多播请求,其他节点收到请求后会做出响应。配置参数如下:

 

[html]  view plain copy
 
  1. discovery.zen.ping.multicast.group:224.2.2.4  组地址  
  2. discovery.zen.ping.multicast.port:54328  端口  
  3. discovery.zen.ping.multicast.ttl:3 广播消息ttl  
  4. discovery.zen.ping.multicast.address:null绑定的地址,null表示绑定所有可用的网络接口  
  5. discovery.zen.ping.multicast.enabled:true 多播自动发现禁用开关  

 

单播配置下,节点向指定的主机发送单播请求,配置如下:

[html]  view plain copy
 
  1. discovery.zen.ping.unicast.hosts:host1:port1,host2,:port2   

 

 

选举Master节点:

         在ping主节点过程中,节点会加入到集群中或者会被选举为主节点,发送主节点的超时时间有餐宿discovery.zen.join_timeout来控制,默认为3s对于配置node.masterfalse的节点启动后不会作为主节点的候选。discovery.zen.minimum_master_nodes配置当前集群中最少的主节点数,对于多于两个节点的集群环境,建议配置大于1

 

故障检测:

    一般存在两个故障检测过程。第一个是主节点周期性的ping其他节点。第二就是其他节点周期的ping主节点。相关参数:

 

[html]  view plain copy
 
  1. ping_interval:1s节点被ping的频率  
  2. ping_timeout:30s等待ping返回的时间  
  3. ping_timeout:3重试次数,超过该次,就认为该节点不可用  

 

【参考:】http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index.html

Elasticsearch模块功能之-自动发现(Discovery)

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号