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

配置项作用 #

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_timeout15m标准操作超时
indices.recovery.internal_action_long_timeout30m长操作超时
indices.recovery.max_bytes_per_sec40mb恢复速率限制

工作原理 #

长操作超时机制:

┌─────────────────────────────────────────────────────────────────┐
│                    恢复操作超时分层                              │
└─────────────────────────────────────────────────────────────────┘

恢复操作
    │
    ├── 普通操作阶段
    │   │
    │   └── 使用 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_timeoutinternal_action_long_timeout
默认值15m30m
适用阶段普通操作长操作
典型场景小分片、快速阶段大分片、传输阶段
超时策略标准超时扩展超时

动态配置示例 #

# 更新集群配置
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

注意事项 #

  1. 动态更新:此配置为动态配置,可在线修改
  2. 长操作专用:用于需要更长时间的操作
  3. 与分片大小相关:大分片需要更长超时
  4. 与网络带宽相关:低带宽需要更长超时
  5. 平衡超时时间:过长的超时会延迟问题发现