配置项作用 #
cluster.routing.allocation.balance.threshold 配置项指定触发分片平衡操作的最小权重差异阈值。只有当节点间的权重差异超过此阈值时,才会执行分片迁移以平衡集群。
配置项类型 #
该配置项为动态配置,可以在运行时通过集群设置 API 进行修改。
默认值 #
1.0
是否必需 #
可选配置项(有默认值)
取值范围 #
0.0 ~ 正无穷
配置格式 #
# 默认配置
cluster.routing.allocation.balance.threshold: 1.0
# 更敏感的阈值(频繁平衡)
cluster.routing.allocation.threshold: 0.5
# 更宽松的阈值(减少平衡)
cluster.routing.allocation.balance.threshold: 2.0
# 禁用自动平衡
cluster.routing.allocation.balance.threshold: 100.0
工作原理 #
平衡决策机制:
┌─────────────────────────────────────────────────────────────────┐
│ 平衡决策流程 │
└─────────────────────────────────────────────────────────────────┘
计算节点权重
│
├── 节点 A: 权重 = 0.5
├── 节点 B: 权重 = 1.5
└── 节点 C: 权重 = 1.0
│
▼
计算权重差异
maxWeight - minWeight = 1.5 - 0.5 = 1.0
│
▼
与 threshold 比较
│
├── 差异 >= threshold
│ │
│ └── 执行平衡操作
│
└── 差异 < threshold
│
└── 不执行平衡
使用场景 #
1. 默认配置(推荐) #
cluster.routing.allocation.balance.threshold: 1.0
适用于大多数场景。
2. 频繁平衡 #
cluster.routing.allocation.balance.threshold: 0.5
效果:
- 集群更均匀
- 增加分片迁移
- 更多网络流量
3. 减少平衡 #
cluster.routing.allocation.balance.threshold: 2.0
效果:
- 减少不必要的迁移
- 降低网络负载
- 可能容忍一定不均衡
4. 禁用自动平衡 #
cluster.routing.allocation.balance.threshold: 100.0
推荐设置建议 #
| 场景 | 推荐值 | 说明 |
|---|---|---|
| 默认/通用 | 1.0 | 标准配置 |
| 高可用要求 | 0.5-1.0 | 更均匀分布 |
| 稳定环境 | 2.0-3.0 | 减少迁移 |
| 大规模集群 | 1.5-2.0 | 平衡性能 |
注意事项 #
- 动态更新:此配置为动态配置,可在线修改
- 性能权衡:阈值越低,平衡操作越频繁
- 网络影响:频繁平衡会增加网络流量





