Elasticsearch集群配置分析-合理分片
·
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: 副本分片
特点
- 提供高度的数据冗余和高可用性。
- 支持高并发查询请求。
- 写入性能可能受到影响,因为需要同步多个副本。
适用场景
- 大规模数据集,高访问量的应用。
- 对数据安全性和系统稳定性要求极高的场合。
总结对比
| 配置 | 可用性 | 资源利用 | 写入性能 | 查询并发支持 |
|---|---|---|---|---|
| 单主分片无副本 | 低 | 差 | 最佳 | 低 |
| 三主分片一副本 | 中等 | 较好 | 良好 | 中等 |
| 六主分片两副本 | 高 | 最高 | 较差 | 高 |
选择建议
-
单主分片无副本
- 优点:写入性能最佳,配置简单。
- 缺点:无冗余,数据丢失风险高,资源浪费严重。
- 适用场景:开发测试环境,数据量小且对可用性要求不高的场景。
-
三主分片一副本
- 优点:较好的可用性和资源利用率,适中的写入和查询性能。
- 缺点:写入性能受副本同步影响,但优于六主分片两副本。
- 适用场景:大多数常规业务需求,平衡了可用性和性能。
-
六主分片两副本
- 优点:最高的可用性和查询并发支持,适合大规模生产环境。
- 缺点:写入性能较差,对CPU和内存资源消耗大。
- 适用场景:数据量大、访问频繁且对高可用性要求极高的场景。
通过以上分析,可以根据实际业务需求选择合适的集群配置。对于大多数应用场景来说,三主分片一副本可能是较为理想的选择,因为它在性能、成本和可靠性之间提供了良好的平衡。而对于那些需要极高可用性的大型应用,则应考虑使用六主分片两副本的配置。
更多推荐



所有评论(0)