当前位置:   article > 正文

Elasticsearch 的节点、集群、分片和副本 全面解析_es集群 节点 分片 副本

es集群 节点 分片 副本

目录

  • 一、节点 (Node)
  • 二、集群 (Cluster)
  • 三、分片 (Shard)
  • 四、副本 (Replica)
  • 五、分片与副本的关系
  • 六、管理与监控

一、节点 (Node)

节点是 Elasticsearch 实例的运行实例,即一个独立的 Elasticsearch 服务进程。每个节点都是一个独立的工作单元,负责存储数据、参与数据处理(如索引、搜索、聚合等)以及参与集群的协调工作。节点可以在物理或虚拟机上单独部署,也可以在同一台机器上运行多个节点(但需注意资源分配)。

节点具有以下特性:

  • 角色:节点可以承担多种角色,包括但不限于:

    • 主节点 (Master Node):负责集群范围内的元数据管理和变更,如索引创建、删除、分片分配等。
    • 数据节点 (Data Node):存储实际数据和相关的索引文件,参与数据的索引、搜索和恢复过程。
    • 协调节点 (Coordinating Node):接收客户端请求,将请求路由至适当的节点,并将结果汇总返回给客户端。每个节点都可以充当协调节点,也可以专门设置某些节点仅作为协调节点。
    • ingest 节点:处理预定义的中间件管道,对数据进行预处理后再索引。
  • 配置:节点通过配置文件或启动参数(如 -E node.name-E node.roles 等)定义其名称、角色、网络绑定等属性。

二、集群 (Cluster)

集群是由一个或多个节点组成的 Elasticsearch 实例集合,它们协同工作,对外表现为单一的搜索和索引服务。集群中的节点通过共享相同的集群名称 (cluster.name) 自动发现彼此并形成集群。

集群的主要特性包括:

  • 一致性:集群内部维护数据的一致性,确保在任何节点上都能获得一致的查询结果。
  • 故障转移:当某个节点失效时,集群通过自动重新分配分片和选举新的主节点来维持服务的连续性。
  • 负载均衡:客户端请求可以被路由到集群中的任意节点,节点间的负载得以均衡。

三、分片 (Shard)

分片是索引内部数据的逻辑分割单元。每个索引可以被划分为多个分片,每个分片都是一个完整的 Lucene 索引,包含索引的一部分数据。

分片的主要作用和特性包括:

  • 水平扩展:通过增加分片数量,将大量数据分散存储在多个节点上,实现数据的水平扩展和查询性能的提升。
  • 数据分布:每个分片可以被分配到集群中的任意节点,Elasticsearch 自动管理分片的分布和平衡。
  • 数据量限制:单个分片有大小限制,合理的分片数量有助于避免单一分片过大导致的性能下降。

四、副本 (Replica)

副本是对主分片的完整复制。每个主分片可以有零个或多个对应的副本分片。副本分片的存在有以下几个重要作用:

  • 数据冗余:副本分片提供了数据的备份,防止主分片数据丢失导致的数据不可用。
  • 高可用性:当主分片不可用时,其对应的副本分片可以被提升为新的主分片,确保服务连续性。
  • 读取性能:副本分片可以分摊查询请求,尤其在只读操作(如搜索)中,显著提高查询响应速度。

五、分片与副本的关系

一个索引由多个主分片和对应的副本分片组成。例如,若一个索引配置了 5 个主分片和每个主分片有 1 个副本,则该索引总共有 10 个分片(5 个主分片 + 5 个副本分片)。这些分片会在集群的节点间进行动态分配和平衡。

六、管理与监控

  • 分片分配:通过 Elasticsearch API 或可视化工具(如 Kibana)可以查看分片在节点间的分布情况,以及手动调整分片分配策略。
  • 健康检查:集群健康状态 (cluster health) 可以反映分片的健康状况,包括主分片和副本分片是否可用、是否在正确数量的节点上分布等。
  • 监控:监控分片和副本的状态、数据同步情况、节点负载等指标,有助于及时发现并解决问题,保持集群稳定运行。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/685608
推荐阅读
相关标签
  

闽ICP备14008679号