配置项作用 #
indices.recovery.internal_action_long_timeout 配置项控制分片恢复过程中耗时较长的内部操作的超时时间。此超时时间大于 standard internal_action_timeout,用于需要更长时间完成的恢复阶段。
配置项类型 #
该配置项为动态配置,可以在运行时通过集群设置 API 进行修改。
默认值 #
30m
是否必需 #
可选配置项(有默认值)
取值范围 #
0 ~ 正无穷
配置格式 #
# 默认配置
indices.recovery.internal_action_long_timeout: 30m
# 增加超时时间
indices.recovery.internal_action_long_timeout: 60m
# 减少超时时间
indices.recovery.internal_action_long_timeout: 20m
# 大分片恢复
indices.recovery.internal_action_long_timeout: 120m
相关配置项 #
| 配置项 | 默认值 | 说明 |
|---|---|---|
indices.recovery.internal_action_timeout | 15m | 标准操作超时 |
indices.recovery.internal_action_long_timeout | 30m | 长操作超时 |
indices.recovery.max_bytes_per_sec | 40mb | 恢复速率限制 |
工作原理 #
长操作超时机制:
┌─────────────────────────────────────────────────────────────────┐
│ 恢复操作超时分层 │
└─────────────────────────────────────────────────────────────────┘
恢复操作
│
├── 普通操作阶段
│ │
│ └── 使用 internal_action_timeout (15m)
│
└── 长操作阶段
│
└── 使用 internal_action_long_timeout (30m)
│
├── 文件传输(大分片)
├── 段合并操作
└── 完整恢复
使用场景 #
1. 默认配置(推荐) #
indices.recovery.internal_action_long_timeout: 30m
适用于大多数集群配置。
2. 超大分片恢复 #
indices.recovery.internal_action_long_timeout: 60m
indices.recovery.max_bytes_per_sec: 20mb
适用场景:
- 超大分片(> 50GB)
- 慢速存储
- 需要更长恢复时间
3. 跨地域恢复 #
indices.recovery.internal_action_long_timeout: 120m
indices.recovery.max_bytes_per_sec: 10mb
适用场景:
- 跨地域复制
- 低带宽网络
- 长距离传输
4. 快速检测问题 #
indices.recovery.internal_action_long_timeout: 20m
适用场景:
- 希望更快检测问题
- 不希望过长等待
- 有监控和告警
推荐设置建议 #
| 分片大小 | 恢复速率 | 推荐超时 | 说明 |
|---|---|---|---|
| < 10GB | 标准 | 30m | 默认配置 |
| 10-50GB | 标准 | 30-45m | 根据传输时间 |
| 50-100GB | 标准 | 45-60m | 大分片 |
| > 100GB | 标准 | 60-120m | 超大分片 |
| 任意 | 慢速 | 60-120m | 低带宽环境 |
与 internal_action_timeout 的区别 #
| 特性 | internal_action_timeout | internal_action_long_timeout |
|---|---|---|
| 默认值 | 15m | 30m |
| 适用阶段 | 普通操作 | 长操作 |
| 典型场景 | 小分片、快速阶段 | 大分片、传输阶段 |
| 超时策略 | 标准超时 | 扩展超时 |
动态配置示例 #
# 更新集群配置
PUT /_cluster/settings
{
"transient": {
"indices.recovery.internal_action_long_timeout": "60m"
}
}
# 跨地域恢复配置
PUT /_cluster/settings
{
"transient": {
"indices.recovery.internal_action_long_timeout": "120m",
"indices.recovery.max_bytes_per_sec": "10mb"
}
}
监控建议 #
# 查看恢复进度
GET /_cat/recovery?v&h=i,s,t,bytes_percent,stage
# 查看大文件传输进度
GET /_cat/recovery?v&h=i,s,t,bytes,file_percent
# 查看超时配置
GET /_cluster/settings?filter_path=*.recovery.internal_action_long_timeout
注意事项 #
- 动态更新:此配置为动态配置,可在线修改
- 长操作专用:用于需要更长时间的操作
- 与分片大小相关:大分片需要更长超时
- 与网络带宽相关:低带宽需要更长超时
- 平衡超时时间:过长的超时会延迟问题发现





