Elasticsearch--Master选举

角色
  • 主节点(active master):一般指的是活跃的主节点,避免负载任务,主节点主要用来管理集群,专用master节点仍将充当协调节点

  • 候选节点(master-eligible nodes):默认具备选举权被选举权,可以参与选举,也可以为其他节点投票。

  • 投票节点(voting_only node):仅投票节点没有被选举权只有选举权,也就是仅投票节点永远无法成为主节点,这样的话我们就可以为其分配data角色让其承担数据负载,这样技能保证选举出的新的主节点是一个专用主节点,又降低的资源浪费。

    一般情况下,voting_only 和 master 角色是一起配置的,单独配置 voting_only 角色是没有意义的。

    配置master角色的节点拥有被选举权和选举权,而voting_only 的作用就是阉割掉候选节点的被选举权,让其只能投票,而不能参与选举。所以如果没有master角色,配置voting_only也是没有意义的。

  • 专用主节点(dedicated master-eligible node):即 node.roles: [master],一般指的是只保留master角色的候选节点。

  • 数据节点(data nodes):数据节点保存包含已编入索引的文档的分片。数据节点处理数据相关操作,如 CRUD、搜索和聚合。这些操作是 I/O 密集型、内存密集型和 CPU 密集型的。监控这些资源并在它们过载时添加更多数据节点非常重要。

  • 预处理节点(ingest nodes):常用语一些数据写入之前的预处理操作,比如去除空格、split等操作,常和update_by_query、reindex等

  • 远程节点(remote_cluster_client client)

    具有 remote_cluster_client角色的节点,使其有资格充当远程客户端

    当需要通过远程访问节点时,该角色必须配置,比如通过publish_host配置的地址访问服务节点时,该角色必须启用

节点失效监测机制
  • NodesFaultDetection:即 NodesFD,用于定期检查集群中的节点是否存活。

  • MasterFaultDetection:即 MasterFD,作用是定期检查 Master 节点是否存活。

    Elasticsearch--Master选举_第1张图片

何时触发选举
  • 活跃master节点数量小于法定票数

  • active master挂掉

选举流程

脑裂问题
  • 何为脑裂:无主或多主

  • 解决办法:discovery.zen.minimum_master_nodes=N/2+1,N为有效投票节点数。

你可能感兴趣的:(Elasticsearch,elasticsearch,大数据,数据库)