📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

配置项概述 #

cluster.info.update.* 配置项组用于控制主节点收集和更新集群信息(如磁盘使用率、分片大小)的行为。这些信息用于分片分配决策和磁盘阈值管理。

配置项默认值说明
cluster.info.update.interval30s集群信息更新间隔
cluster.info.update.timeout15s更新操作的超时时间

cluster.info.update.interval #

配置项作用 #

控制主节点收集和更新集群信息(如磁盘使用率、分片大小)的频率。

配置项类型 #

该配置项为动态配置,可以在运行时通过集群设置 API 进行修改。

默认值 #

30s(30秒)

是否必需 #

可选配置项(有默认值)

取值范围 #

10s ~ 正无穷

配置格式 #

# 默认配置
cluster.info.update.interval: 30s

# 更频繁的更新
cluster.info.update.interval: 10s

# 较少频率的更新
cluster.info.update.interval: 60s

相关配置项 #

配置项默认值说明
cluster.info.update.interval30s集群信息更新间隔
cluster.info.update.timeout15s更新操作的超时时间

工作原理 #

集群信息收集过程:

┌─────────────────────────────────────────────────────────────────┐
│                   集群信息更新流程                              │
└─────────────────────────────────────────────────────────────────┘

主节点启动
    │
    ▼
创建定时任务(间隔 = update.interval)
    │
    ├── 收集节点磁盘使用情况
    ├── 收集索引分片大小
    ├── 计算集群统计信息
    └── 更新集群状态
         │
         ▼
分片分配决策使用此信息

使用场景 #

1. 默认配置(推荐大多数场景) #

cluster.info.update.interval: 30s

平衡系统负载和信息时效性。

2. 高频更新(动态环境) #

cluster.info.update.interval: 10s

适用场景:

  • 数据快速增长的集群
  • 频繁有节点加入/离开
  • 需要快速响应磁盘变化

3. 低频更新(稳定环境) #

cluster.info.update.interval: 60s

适用场景:

  • 稳定的生产环境
  • 节点数量固定
  • 数据增长平缓

信息收集内容 #

每次更新收集以下信息:

磁盘使用信息:
- 每个节点的磁盘总容量
- 每个节点的磁盘使用量
- 每个数据路径的可用空间

分片大小信息:
- 每个分段的磁盘占用
- 每个索引的总大小
- 每个节点的分片分布

推荐设置建议 #

环境类型推荐间隔说明
默认/通用30s平衡配置
动态环境10-20s快速响应变化
稳定生产60s减少系统开销
大规模集群60s减少主节点负载

监控建议 #

# 查看当前配置
GET /_cluster/settings?filter_path=*.cluster.info.update.interval

# 查看磁盘使用情况
GET /_cat/allocation?v

# 查看节点磁盘使用
GET /_cat/nodes?v&h=name,disk.used_percent,disk.total

常见问题 #

问题 1:分片分配不及时

可能原因: 更新间隔过长

解决方案:

PUT /_cluster/settings
{
  "transient": {
    "cluster.info.update.interval": "10s"
  }
}

问题 2:主节点负载过高

可能原因: 更新间隔过短,频繁收集信息

解决方案:

PUT /_cluster/settings
{
  "transient": {
    "cluster.info.update.interval": "60s"
  }
}

cluster.info.update.timeout #

配置项作用 #

控制主节点从各节点收集集群信息(如磁盘使用率、分片大小)时的单次请求超时时间。如果某个节点在超时时间内未响应,该节点的信息将不被包含在本次更新中。

默认值 #

15s(15秒)

取值范围 #

5s ~ 正无穷

配置格式 #

# 默认配置
cluster.info.update.timeout: 15s

# 更短的超时(适用于低延迟网络)
cluster.info.update.timeout: 10s

# 更长的超时(适用于高延迟网络或慢速磁盘)
cluster.info.update.timeout: 30s

工作原理 #

┌─────────────────────────────────────────────────────────────────┐
│                   超时机制说明                                   │
└─────────────────────────────────────────────────────────────────┘

主节点发起信息收集
    │
    ├── 向节点 A 发送请求 ──> 正常响应 ✓
    ├── 向节点 B 发送请求 ──> 超时 ✗ (跳过该节点)
    ├── 向节点 C 发送请求 ──> 正常响应 ✓
    └── 向节点 D 发送请求 ──> 正常响应 ✓

结果:基于节点 A、C、D 的信息更新集群状态
      节点 B 的信息将在下次更新时重新尝试获取

推荐设置建议 #

网络环境磁盘性能推荐超时说明
局域网SSD10s-15s默认配置
跨地域HDD30s高延迟环境
云环境网络 SSD15s标准配置
高负载慢速磁盘30s-60s磁盘响应慢

使用场景 #

默认配置(推荐):

cluster.info.update.timeout: 15s

适用于大多数标准部署场景。

快速失败场景:

cluster.info.update.timeout: 10s
cluster.info.update.interval: 30s

适用于网络稳定、希望快速发现节点故障的场景。

高延迟容忍场景:

cluster.info.update.timeout: 60s
cluster.info.update.interval: 60s

适用于跨地域部署或有慢速存储的场景。


完整配置示例 #

# easysearch.yml

# 集群信息更新配置

# 更新间隔:每 30 秒收集一次
cluster.info.update.interval: 30s

# 超时时间:单次请求 15 秒超时
cluster.info.update.timeout: 15s

组合配置指南 #

场景intervaltimeout说明
默认配置30s15s平衡配置
快速响应10s10s频繁收集,快速超时
稳定环境60s15s降低频率,标准超时
高延迟环境60s60s降低频率,延长超时
宽松配置30s30stimeout ≥ interval

注意事项 #

  1. 动态更新:这些配置为动态配置,可在线修改
  2. 仅主节点:此服务只在主节点上运行
  3. 超时与间隔关系:应确保 timeout ≤ interval,避免连续收集操作重叠
  4. 系统开销:频繁更新会增加主节点负载
  5. 信息时效性:间隔过长会导致分片分配决策基于过时信息
  6. 超时跳过:超时的节点信息会被跳过,影响本次分配决策的准确性
  7. 网络延迟:timeout 应考虑实际网络延迟和磁盘响应时间