配置项作用 #
cluster.info.update.timeout 配置项用于控制集群信息收集操作的超时时间。
当 InternalClusterInfoService 从集群中收集节点统计信息(NodeStats)和索引统计信息(IndicesStats)时,此配置限制了等待响应的最长时间。
配置项属性 #
- 配置路径:
cluster.info.update.timeout - 数据类型:
TimeValue(时间值) - 默认值:
15s(15秒) - 是否可选: 是
- 是否动态: 是(可动态更新,无需重启)
配置项详解 #
超时机制 #
主节点 数据节点
│ │
│ ──── NodeStats 请求 ──────>│
│ │
│ <──── 响应 ─────────────────│ (等待最多 timeout)
│ │
│ ──── IndicesStats 请求 ───>│
│ │
│ <──── 响应 ─────────────────│ (等待最多 timeout)
│ │
│ 超时? │
│ ↓ │
│ 记录警告,继续使用上次的 │
│ 集群信息 │
工作流程 #
- 发送请求: 主节点向所有数据节点请求统计信息
- 等待响应: 等待各节点返回节点统计和索引统计信息
- 超时检查: 如果在
timeout时间内未收集完成,记录警告并使用缓存信息 - 更新缓存: 收集成功后更新集群信息缓存
收集的信息 #
| 信息类型 | 说明 |
|---|---|
| NodeStats | 节点级别的统计信息,包括磁盘使用情况、JVM、线程池等 |
| IndicesStats | 索引级别的统计信息,包括分片大小、文档数量等 |
配置建议 #
生产环境(标准) #
cluster.info.update.timeout: 15s
建议: 保持默认值 15s。适用于大多数生产环境。
大型集群 #
cluster.info.update.timeout: 30s
建议: 增加到 30s-60s。当集群节点数量多或分片数量多时,收集统计信息需要更长时间。
高延迟网络环境 #
cluster.info.update.timeout: 30s
建议: 增加到 30s-45s。节点间网络延迟较高时,需要更长的超时时间。
性能优化环境 #
cluster.info.update.timeout: 10s
建议: 减少到 10s。在网络良好、集群规模小的情况下可以减少超时时间。
代码示例 #
easysearch.yml 配置 #
# 生产环境标准配置
cluster:
info:
update:
interval: 30s
timeout: 15s
大型集群配置 #
cluster:
info:
update:
interval: 90s # 增加更新间隔
timeout: 45s # 增加超时时间
高延迟网络配置 #
cluster:
info:
update:
interval: 60s
timeout: 60s # 超时时间接近间隔时间
动态更新配置 #
# 通过 API 动态更新(无需重启)
PUT _cluster/settings
{
"transient": {
"cluster.info.update.timeout": "30s"
}
}
相关配置 #
| 配置项 | 作用 | 默认值 |
|---|---|---|
cluster.info.update.interval | 信息更新间隔 | 30s |
cluster.routing.allocation.disk.threshold_enabled | 是否启用磁盘阈值检查 | true |
配置配合原则 #
通常建议:
timeout < interval:确保单次收集能够在下次更新前完成- 典型配置:
interval = 2 × timeout
例如:
- 小型集群:
interval: 30s, timeout: 10s - 标准集群:
interval: 30s, timeout: 15s - 大型集群:
interval: 90s, timeout: 45s
超时处理 #
当信息收集超时时:
超时发生
↓
记录警告日志
↓
使用上一次的集群信息缓存
↓
继续执行路由决策(可能使用过时数据)
警告日志示例:
Failed to update node information for ClusterInfoUpdateJob within 15s timeout
Failed to update indices information for ClusterInfoUpdateJob within 15s timeout
性能与可靠性权衡 #
| timeout 设置 | 优点 | 缺点 |
|---|---|---|
| 较短(5-10s) | 快速发现响应慢的节点 | 可能误判,导致信息收集失败 |
| 中等(15s) | 平衡响应时间和成功率 | 标准设置 |
| 较长(30-60s) | 提高收集成功率 | 慢节点会拖累整体更新速度 |
影响超时的因素 #
| 因素 | 影响 |
|---|---|
| 集群节点数量 | 节点越多,收集时间越长 |
| 分片数量 | 分片越多,索引统计越耗时 |
| 节点负载 | 高负载节点响应较慢 |
| 网络延迟 | 节点间延迟影响响应时间 |
| 磁盘性能 | 慢速磁盘影响统计信息收集 |
注意事项 #
动态配置: 可以通过集群设置 API 动态更新,无需重启节点。
超时后的行为: 超时不会导致节点故障,只是该次信息收集失败,会使用上次的缓存信息。
监控建议: 如果频繁出现超时警告,需要检查:
- 节点负载是否过高
- 网络是否存在问题
- 是否需要增加超时时间
与间隔的关系: 确保
timeout不要大于interval,否则可能出现上一次收集还未完成,下一次就开始的情况。仅影响主节点: 此配置只在主节点上执行,用于主节点收集集群信息。





