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

配置项作用 #

indices.recovery.recovery_activity_timeout 配置项控制分片恢复过程中允许无活动的最大时间间隔。如果在指定时间内没有检测到任何恢复活动(数据传输、文件操作等),恢复操作将被标记为失败。

配置项类型 #

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

默认值 #

30m(继承自 indices.recovery.internal_action_long_timeout)

是否必需 #

可选配置项(有默认值)

取值范围 #

0 ~ 正无穷(0 表示禁用活动超时检查)

配置格式 #

# 默认配置(继承 long_timeout)
indices.recovery.recovery_activity_timeout: 30m

# 自定义活动超时
indices.recovery.recovery_activity_timeout: 15m

# 禁用活动超时检查
indices.recovery.recovery_activity_timeout: 0

# 快速检测停滞
indices.recovery.recovery_activity_timeout: 5m

相关配置项 #

配置项默认值说明
indices.recovery.recovery_activity_timeout30m恢复活动超时
indices.recovery.internal_action_timeout15m内部操作超时
indices.recovery.internal_action_long_timeout30m长操作超时

工作原理 #

活动超时检测机制:

┌─────────────────────────────────────────────────────────────────┐
│                    活动超时检测                                  │
└─────────────────────────────────────────────────────────────────┘

恢复操作进行中
    │
    ├── 检测到活动(传输数据、文件操作)
    │   │
    │   └── 重置活动计时器
    │
    └── 无活动持续 activity_timeout
         │
         └── 恢复操作超时
              │
              └── 标记恢复失败
                   │
                   └── 触发重新恢复

使用场景 #

1. 默认配置(推荐) #

indices.recovery.recovery_activity_timeout: 30m

适用于大多数集群配置。

2. 快速检测停滞 #

indices.recovery.recovery_activity_timeout: 5m

适用场景:

  • 需要快速检测问题
  • 网络不稳定环境
  • 有自动重试机制

3. 大分片慢速恢复 #

indices.recovery.recovery_activity_timeout: 60m

适用场景:

  • 大分片恢复
  • 低带宽网络
  • 容忍长传输间隙

4. 禁用检查 #

indices.recovery.recovery_activity_timeout: 0

适用场景:

  • 极慢速网络
  • 不希望因间隙而失败
  • 手动监控恢复状态

推荐设置建议 #

恢复类型推荐超时说明
默认30m继承 long_timeout
标准15-30m标准配置
大分片30-60m大分片容忍间隙
跨地域60-120m高延迟环境
不稳定网络5-10m快速检测
禁用检查0不限制

动态配置示例 #

# 更新集群配置
PUT /_cluster/settings
{
  "transient": {
    "indices.recovery.recovery_activity_timeout": "20m"
  }
}

# 禁用活动超时
PUT /_cluster/settings
{
  "transient": {
    "indices.recovery.recovery_activity_timeout": "0"
  }
}

监控建议 #

# 查看恢复进度
GET /_cat/recovery?v&h=i,s,t,bytes_percent,stage

# 查看恢复速率
GET /_cat/recovery?v&h=i,s,t,bytes,recovery_rate

# 查看超时配置
GET /_cluster/settings?filter_path=*.recovery.recovery_activity_timeout

注意事项 #

  1. 动态更新:此配置为动态配置,可在线修改
  2. 检测停滞恢复:帮助检测卡住的恢复操作
  3. 与网络相关:网络不稳定时可能需要更小的值
  4. 与分片大小相关:大分片恢复间隙可能较长
  5. 设置为 0 禁用:0 表示不检查活动超时