`

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

阅读更多

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 plaincopy
 
  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 plaincopy
 
  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 plaincopy
 
  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

分享到:
评论

相关推荐

    es-ansible-playbook

    其中,`template`模块用于动态生成配置文件,`elasticsearch.yml.j2`是Jinja2模板文件,你可以根据实际需求定制Elasticsearch的配置参数。 执行Playbook时,使用命令`ansible-playbook deploy_es.yml`,Ansible会...

    千锋2018elasticsearch笔记修改.docx

    可以显式定义或由Elasticsearch自动检测。 **Indexed(索引化):** 指创建文档索引的过程。默认情况下,所有字段都会被索引,但也可以根据需求选择不索引某些字段。 **Query DSL(查询域特定语言):** 一种用于...

    ElasticSearch文档.pdf

    Elasticsearch的集群发现机制是通过discovery.zen模块来实现的,而节点间的消息传递则由Transport模块负责。集群的发现机制负责自动发现集群中的其他节点,以便于节点间通信和协调。Elasticsearch还提供了数据恢复...

    Mastering Elasticsearch(中文版).pdf

    - **Elasticsearch背后的核心理念**:Elasticsearch的核心设计理念包括分布式的特性、易于使用的RESTful API、自动发现机制、以及强大的搜索功能。这些设计使得Elasticsearch成为大规模数据处理的理想选择。 - **...

    ElasticSearch优化

    ElasticSearch的自动发现机制允许集群中的节点自动找到彼此,并且能够支持单点故障的容错。Zen Discovery是ElasticSearch的默认发现机制,支持Multicast和Unicast模式。针对云环境,如EC2的自动发现也是一个重要的...

    Mastering Elasticsearch Second Edition code源码

    3. **分布式特性**:Elasticsearch是分布式的,这意味着数据可以在多个节点间分布并自动进行复制和路由。源码中会涉及集群通信、数据一致性保证(如Zen Discovery和RAFT协议)以及Shard分配策略。 4. **实时分析**...

    使用puppet 部署elk

    - Elasticsearch Puppet模块:`elastic/puppet-elasticsearch` - Logstash Puppet模块:`elastic/puppet-logstash` - 其他辅助Puppet模块:`puppetlabs/puppetlabs-vcsrepo`、`puppetlabs/puppetlabs-git`、`...

    ELK-guide-cn.pdf

    - 自动发现:Elasticsearch的节点可以通过多种自动发现机制加入集群,包括Zen Discovery和云环境的发现机制。 接口使用示例: - 增删改查操作:Elasticsearch提供了REST API进行数据的CRUD操作。 - 搜索请求:通过...

    千锋2018elasticsearch课件

    Elasticsearch 是一款基于 Apache Lucene 的开源搜索服务器,专为云环境设计,提供实时、稳定、高效且可扩展的全文搜索功能。这款工具在2016年1月已成为全球最受欢迎的搜索引擎类应用,超越了Solr等竞争对手。...

    Elasticsearch 28道面试题和答案.docx

    2. **Master 选举**:Elasticsearch 使用 ZenDiscovery 模块进行主节点选举。节点间通过 Ping 进行通信,通过 Unicast 单播发现彼此。选举过程是所有可成为主节点的节点根据节点 ID 排序,得票数超过半数(n/2+1)且...

    Elasticsearch最新2021年面试题大汇总,附答案.md

    X-Pack是Elasticsearch的一个扩展插件,提供了多种重要的功能模块,包括但不限于安全性、监控、报告和报警等功能。具体而言: - **安全性**:X-Pack支持基于角色的访问控制,允许管理员为不同用户分配不同的权限,...

    集群安装文件说明

    Discovery.Zen是Elasticsearch集群发现机制的一部分,它允许节点动态地加入或离开集群。通过P2P的方式,每个节点可以发现网络中的其他节点,并建立连接。 ##### 8. **Transport** Transport是Elasticsearch内部...

    poseidon-front:poseidon项目是基于Java的商城项目,包括前台商城(),后台管理系统。系统采用SpringCloud+SpringBoot+Mybatis+React等框架进行开发。包括首页展示,商品搜索,商品推荐,购物车,订单等模块

    组织结构Poseidon├── psd-config -- 通用配置├── psd-discovery -- Eureka注册中心├── psd-elastic-search -- 基于Elasticsearch的商品搜索,推荐服务├── psd-gateway -- 网关服务├── psd-generate -...

Global site tag (gtag.js) - Google Analytics