--- title: "分片恢复网络重试延迟配置" date: 2026-02-08 lastmod: 2026-02-08 description: "控制分片恢复网络重试延迟的配置项说明" tags: ["索引配置", "分片恢复", "容错机制"] summary: "配置项作用 # indices.recovery.retry_delay_network 配置项控制因网络相关问题导致分片恢复失败后的重试延迟时间。网络问题包括连接超时、网络中断、传输层故障等。 配置项类型 # 该配置项为动态配置,可以在运行时通过集群设置 API 进行修改。 默认值 # 5s 是否必需 # 可选配置项(有默认值) 取值范围 # 0 ~ 正无穷 配置格式 # # 默认配置 indices.recovery.retry_delay_network: 5s # 增加重试延迟 indices.recovery.retry_delay_network: 10s # 减少重试延迟 indices.recovery.retry_delay_network: 2s # 快速重试 indices.recovery.retry_delay_network: 1s 相关配置项 # 配置项 默认值 说明 indices.recovery.retry_delay_state_sync 500ms 状态同步重试延迟 indices.recovery.retry_delay_network 5s 网络问题重试延迟 indices.recovery.max_concurrent_operations 1 最大并发恢复操作数 工作原理 # 网络重试机制:" --- ## 配置项作用 `indices.recovery.retry_delay_network` 配置项控制因网络相关问题导致分片恢复失败后的重试延迟时间。网络问题包括连接超时、网络中断、传输层故障等。 ## 配置项类型 该配置项为**动态配置**,可以在运行时通过集群设置 API 进行修改。 ## 默认值 ``` 5s ``` ## 是否必需 **可选配置项**(有默认值) ## 取值范围 ``` 0 ~ 正无穷 ``` ## 配置格式 ```yaml # 默认配置 indices.recovery.retry_delay_network: 5s # 增加重试延迟 indices.recovery.retry_delay_network: 10s # 减少重试延迟 indices.recovery.retry_delay_network: 2s # 快速重试 indices.recovery.retry_delay_network: 1s ``` ## 相关配置项 | 配置项 | 默认值 | 说明 | |-------|-------|------| | `indices.recovery.retry_delay_state_sync` | 500ms | 状态同步重试延迟 | | `indices.recovery.retry_delay_network` | 5s | 网络问题重试延迟 | | `indices.recovery.max_concurrent_operations` | 1 | 最大并发恢复操作数 | ## 工作原理 网络重试机制: ``` ┌─────────────────────────────────────────────────────────────────┐ │ 网络重试机制 │ └─────────────────────────────────────────────────────────────────┘ 分片恢复请求 │ ▼ 检查网络连接 │ ├── 网络正常 │ │ │ └── 继续恢复操作 │ └── 网络异常 │ ├── 连接超时 ├── 网络中断 ├── 传输层故障 └── 节点不可达 │ ▼ 等待 retry_delay_network │ └── 重试恢复操作 ``` ## 使用场景 ### 1. 默认配置(推荐) ```yaml indices.recovery.retry_delay_network: 5s ``` 适用于大多数集群配置。 ### 2. 快速恢复环境 ```yaml indices.recovery.retry_delay_network: 1s ``` **适用场景:** - 稳定的内网环境 - 快速故障检测 - 需要快速恢复 ### 3. 不稳定网络环境 ```yaml indices.recovery.retry_delay_network: 10s ``` **适用场景:** - 跨地域部署 - 网络不稳定 - 避免频繁重试 ### 4. 高延迟网络 ```yaml indices.recovery.retry_delay_network: 15s ``` **适用场景:** - 高延迟网络 - 公网部署 - 容忍网络抖动 ## 推荐设置建议 | 网络环境 | 推荐延迟 | 说明 | |---------|---------|------| | 稳定内网 | 1-3s | 快速恢复 | | 标准 | 5s | 默认配置 | | 跨地域 | 10-15s | 考虑延迟 | | 不稳定 | 10-20s | 避免风暴 | ## 与 retry_delay_state_sync 的区别 | 特性 | retry_delay_state_sync | retry_delay_network | |-----|----------------------|-------------------| | 默认值 | 500ms | 5s | | 触发条件 | 状态同步问题 | 网络问题 | | 典型场景 | 节点注册、分片启动 | 连接超时、网络中断 | | 重试策略 | 快速重试 | 慢速重试 | | 原因类型 | 集群状态不一致 | 网络层故障 | ## 动态配置示例 ```bash # 更新集群配置 PUT /_cluster/settings { "transient": { "indices.recovery.retry_delay_network": "10s" } } # 临时快速重试 PUT /_cluster/settings { "transient": { "indices.recovery.retry_delay_network": "2s" } } ``` ## 注意事项 1. **动态更新**:此配置为动态配置,可在线修改 2. **较长延迟**:相比状态同步,网络问题需要更长的恢复时间 3. **避免频繁重试**:过小的值可能导致网络重试风暴 4. **与网络环境相关**:根据网络稳定性和延迟调整 5. **平衡恢复速度**:权衡恢复速度和系统负载