配置项作用 #
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_timeout | 30m | 恢复活动超时 |
indices.recovery.internal_action_timeout | 15m | 内部操作超时 |
indices.recovery.internal_action_long_timeout | 30m | 长操作超时 |
工作原理 #
活动超时检测机制:
┌─────────────────────────────────────────────────────────────────┐
│ 活动超时检测 │
└─────────────────────────────────────────────────────────────────┘
恢复操作进行中
│
├── 检测到活动(传输数据、文件操作)
│ │
│ └── 重置活动计时器
│
└── 无活动持续 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
注意事项 #
- 动态更新:此配置为动态配置,可在线修改
- 检测停滞恢复:帮助检测卡住的恢复操作
- 与网络相关:网络不稳定时可能需要更小的值
- 与分片大小相关:大分片恢复间隙可能较长
- 设置为 0 禁用:0 表示不检查活动超时





