Elasticsearch 集群配置分析----->3节点示例

配置1:单主分片无副本

  • 主分片:1个
  • 副本分片:0个
  • 节点:3个
架构图示
+---------------------+      +---------------------+      +---------------------+
|       节点 A        |      |       节点 B        |      |       节点 C        |
|                     |      |                     |      |                     |
|  +---------------+  |      |                     |      |                     |
|  |  分片 P0 (主) |  |      |                     |      |                     |
|  +---------------+  |      |                     |      |                     |
|                     |      |                     |      |                     |
+---------------------+      +---------------------+      +---------------------+

图例:
- P0: 主分片

数据分布说明:
- 节点 A: 包含唯一的主分片 P0
- 节点 B 和 节点 C: 不包含任何分片
特点
  • 数据集中存储在一个节点上。
  • 缺乏冗余备份,高可用性和容错能力差。
  • 其他两个节点未被充分利用,可能导致资源浪费(特别是计算资源)。
适用场景
  • 小规模数据集或测试环境。
  • 不推荐用于生产环境。

配置2:三主分片一副本

  • 主分片:3个
  • 副本分片:每个主分片有1个副本,共3个副本
  • 节点:3个
架构图示
+---------------------+      +---------------------+      +---------------------+
|       节点 A        |      |       节点 B        |      |       节点 C        |
|                     |      |                     |      |                     |
|  +---------------+  |      |  +---------------+  |      |  +---------------+  |
|  |  分片 P0 (主) |  |      |  |  分片 P1 (主) |  |      |  |  分片 P2 (主) |  |
|  +---------------+  |      |  +---------------+  |      |  +---------------+  |
|                     |      |                     |      |                     |
|  +---------------+  |      |  +---------------+  |      |  +---------------+  |
|  |  分片 R1 (副) |  |      |  |  分片 R2 (副) |  |      |  |  分片 R0 (副) |  |
|  +---------------+  |      |  +---------------+  |      |  +---------------+  |
+---------------------+      +---------------------+      +---------------------+

图例:
- P0, P1, P2: 主分片
- R0, R1, R2: 副本分片
特点
  • 每个主分片都有一个副本,提高了系统的可用性和数据冗余。
  • 如果某个节点发生故障,其他节点上的副本可以继续提供服务。
  • 较好的平衡了性能与资源利用率。
适用场景
  • 中小规模的数据集。
  • 对数据安全性和系统稳定性有一定要求的应用。

配置3:六主分片两副本

  • 主分片:6个
  • 副本分片:每个主分片有2个副本,共12个副本分片(总计18个分片实例)
  • 节点:3个
架构图示
+---------------------+      +---------------------+      +---------------------+
|       节点 A        |      |       节点 B        |      |       节点 C        |
|                     |      |                     |      |                     |
|  +---------------+  |      |  +---------------+  |      |  +---------------+  |
|  |  分片 P0 (主) |  |      |  |  分片 P1 (主) |  |      |  |  分片 P2 (主) |  |
|  +---------------+  |      |  +---------------+  |      |  +---------------+  |
|  +---------------+  |      |  +---------------+  |      |  +---------------+  |
|  |  分片 R1 (副) |  |      |  |  分片 R2 (副) |  |      |  |  分片 R0 (副) |  |
|  +---------------+  |      |  +---------------+  |      |  +---------------+  |
|  +---------------+  |      |  +---------------+  |      |  +---------------+  |
|  |  分片 R4 (副) |  |      |  |  分片 R5 (副) |  |      |  |  分片 R3 (副) |  |
|  +---------------+  |      |  +---------------+  |      |  +---------------+  |
+---------------------+      +---------------------+      +---------------------+

+---------------------+      +---------------------+      +---------------------+
|       节点 A        |      |       节点 B        |      |       节点 C        |
|                     |      |                     |      |                     |
|  +---------------+  |      |  +---------------+  |      |  +---------------+  |
|  |  分片 P3 (主) |  |      |  |  分片 P4 (主) |  |      |  |  分片 P5 (主) |  |
|  +---------------+  |      |  +---------------+  |      |  +---------------+  |
|  +---------------+  |      |  +---------------+  |      |  +---------------+  |
|  |  分片 R7 (副) |  |      |  |  分片 R8 (副) |  |      |  |  分片 R6 (副) |  |
|  +---------------+  |      |  +---------------+  |      |  +---------------+  |
+---------------------+      +---------------------+      +---------------------+

图例:
- P0-P5: 主分片
- R0-R8: 副本分片
特点
  • 提供高度的数据冗余和高可用性。
  • 支持高并发查询请求。
  • 写入性能可能受到影响,因为需要同步多个副本。
适用场景
  • 大规模数据集,高访问量的应用。
  • 对数据安全性和系统稳定性要求极高的场合。

总结对比

配置可用性资源利用写入性能查询并发支持
单主分片无副本最佳
三主分片一副本中等较好良好中等
六主分片两副本最高较差

选择建议

  1. 单主分片无副本

    • 优点:写入性能最佳,配置简单。
    • 缺点:无冗余,数据丢失风险高,资源浪费严重。
    • 适用场景:开发测试环境,数据量小且对可用性要求不高的场景。
  2. 三主分片一副本

    • 优点:较好的可用性和资源利用率,适中的写入和查询性能。
    • 缺点:写入性能受副本同步影响,但优于六主分片两副本。
    • 适用场景:大多数常规业务需求,平衡了可用性和性能。
  3. 六主分片两副本

    • 优点:最高的可用性和查询并发支持,适合大规模生产环境。
    • 缺点:写入性能较差,对CPU和内存资源消耗大。
    • 适用场景:数据量大、访问频繁且对高可用性要求极高的场景。

通过以上分析,可以根据实际业务需求选择合适的集群配置。对于大多数应用场景来说,三主分片一副本可能是较为理想的选择,因为它在性能、成本和可靠性之间提供了良好的平衡。而对于那些需要极高可用性的大型应用,则应考虑使用六主分片两副本的配置。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐