配置项作用 #
cluster.info.update.interval 配置项用于控制 InternalClusterInfoService 集群信息服务的更新频率。
该服务定期收集集群中的关键信息,包括每个节点的磁盘使用情况、分片大小信息等,这些信息被用于路由决策、磁盘管理和分片平衡。
配置项属性 #
- 配置路径:
cluster.info.update.interval - 数据类型:
TimeValue(时间值) - 默认值:
30s(30秒) - 最小值:
10s(10秒) - 是否可选: 是
- 是否动态: 是(可动态更新,无需重启)
配置项详解 #
工作机制 #
主节点上的 InternalClusterInfoService
│
│ (每隔 interval 时间)
↓
收集节点统计信息
│
├── 磁盘使用情况(最少/最多可用空间)
├── 分片大小信息
├── 分片到数据路径的映射
└── 节点和数据路径上的保留空间
↓
更新集群信息缓存
│
↓
用于路由决策和分片分配
服务特点 #
- 仅运行在主节点: InternalClusterInfoService 只在集群的主节点上运行
- 事件触发更新: 当有新数据节点加入集群时,会立即触发更新(无需等待间隔时间)
- 动态可调: 更新间隔可以在运行时动态调整
收集的信息 #
| 信息类型 | 说明 | 用途 |
|---|---|---|
| 节点磁盘使用情况 | 最少可用空间、最多可用空间 | 磁盘阈值检查、分片分配决策 |
| 分片大小信息 | 每个分片的大小 | 负载均衡、容量规划 |
| 数据路径映射 | 分片到数据路径的路由关系 | 存储管理 |
| 保留空间 | 每个节点/数据路径的保留空间 | 磁盘安全阈值计算 |
配置建议 #
生产环境(标准) #
cluster.info.update.interval: 30s
建议: 保持默认值 30s。这是经过验证的平衡值,适合大多数生产环境。
大型集群 #
cluster.info.update.interval: 60s
建议: 增加到 60s-120s。当集群节点数量多(如 100+ 节点)时,收集信息开销较大,应延长间隔以减少主节点负担。
小型集群 #
cluster.info.update.interval: 20s
建议: 可减少到 20s。小型集群(节点少于 10 个)可以更频繁地更新,以获得更实时的信息。
频繁变更环境 #
cluster.info.update.interval: 15s
建议: 设置为最小值 15s-20s。当集群节点频繁加入/退出或数据快速变化时使用。
代码示例 #
easysearch.yml 配置 #
# 生产环境标准配置
cluster:
info:
update:
interval: 30s
timeout: 15s
大型集群配置 #
cluster:
info:
update:
interval: 90s # 减少更新频率
timeout: 30s # 相应增加超时时间
动态更新配置 #
# 通过 API 动态更新(无需重启)
PUT _cluster/settings
{
"transient": {
"cluster.info.update.interval": "45s"
}
}
相关配置 #
| 配置项 | 作用 | 默认值 |
|---|---|---|
cluster.info.update.timeout | 信息收集超时时间 | 15s |
cluster.routing.allocation.disk.threshold_enabled | 是否启用磁盘阈值检查 | true |
cluster.routing.allocation.disk.watermark.low | 磁盘低水位线 | 85% |
配置配合说明 #
- interval × timeout: 通常
timeout应小于interval,避免单次收集时间超过更新间隔 - 动态更新: 两个配置都支持动态更新,可以根据运行情况调整
性能影响 #
| interval 设置 | 优点 | 缺点 |
|---|---|---|
| 较短(10-20s) | 信息更实时,磁盘问题检测更快 | 增加主节点 CPU 和网络开销 |
| 中等(30s) | 平衡实时性和性能 | 标准设置,适合大多数场景 |
| 较长(60-120s) | 减少主节点负担 | 信息更新延迟,磁盘问题检测较慢 |
性能考虑因素 #
- 集群规模: 节点越多,收集信息开销越大
- 分片数量: 分片越多,收集分片大小信息越耗时
- 网络延迟: 节点间网络延迟影响收集速度
- 主节点性能: 主节点 CPU/内存资源有限
使用场景 #
磁盘阈值检查 #
集群根据收集的磁盘使用信息执行分片分配决策:
cluster.routing.allocation.disk.watermark.low: 85%
cluster.routing.allocation.disk.watermark.high: 90%
cluster.routing.allocation.disk.watermark.flood_stage: 95%
分片平衡 #
集群使用分片大小信息进行负载均衡,确保各节点负载均匀。
注意事项 #
仅在主节点生效: 此配置只在主节点上执行,其他节点忽略此配置。
事件触发更新: 即使设置了较长的间隔,当有新节点加入时也会立即触发更新。
动态更新: 可以通过集群设置 API 动态修改,修改后立即生效。
最小值限制: 不能设置小于 10s 的值,这是系统的最小限制。
监控建议: 监控信息更新的耗时。如果更新耗时接近或超过间隔时间,应考虑增加间隔或优化集群。
与超时配置的关系: 确保
timeout配置足够长,能够在interval之间完成信息收集。





