|
1 | 1 | [[recovery]]
|
2 | 2 | === Indices Recovery
|
3 | 3 |
|
4 |
| -<<cat-recovery,Peer recovery>> is the process used to build a new copy of a |
5 |
| -shard on a node by copying data from the primary. {es} uses this peer recovery |
6 |
| -process to rebuild shard copies that were lost if a node has failed, and uses |
7 |
| -the same process when migrating a shard copy between nodes to rebalance the |
8 |
| -cluster or to honor any changes to the <<modules-cluster,shard allocation |
9 |
| -settings>>. |
10 |
| - |
11 |
| -The following _expert_ setting can be set to manage the resources consumed by |
12 |
| -peer recoveries: |
13 |
| - |
14 |
| -`indices.recovery.max_bytes_per_sec`:: |
15 |
| - Limits the total inbound and outbound peer recovery traffic on each node. |
16 |
| - Since this limit applies on each node, but there may be many nodes |
17 |
| - performing peer recoveries concurrently, the total amount of peer recovery |
18 |
| - traffic within a cluster may be much higher than this limit. If you set |
19 |
| - this limit too high then there is a risk that ongoing peer recoveries will |
20 |
| - consume an excess of bandwidth (or other resources) which could destabilize |
21 |
| - the cluster. Defaults to `40mb`. |
22 |
| - |
23 |
| -`indices.recovery.max_concurrent_file_chunks`:: |
24 |
| - Controls the number of file chunk requests that can be sent in parallel per recovery. |
25 |
| - As multiple recoveries are already running in parallel (controlled by |
26 |
| - cluster.routing.allocation.node_concurrent_recoveries), increasing this expert-level |
27 |
| - setting might only help in situations where peer recovery of a single shard is not |
28 |
| - reaching the total inbound and outbound peer recovery traffic as configured by |
29 |
| - indices.recovery.max_bytes_per_sec, but is CPU-bound instead, typically when using |
30 |
| - transport-level security or compression. Defaults to `2`. |
31 |
| - |
32 |
| -This setting can be dynamically updated on a live cluster with the |
33 |
| -<<cluster-update-settings,cluster-update-settings>> API. |
| 4 | +Peer recovery syncs data from a primary shard to a new or |
| 5 | +existing shard copy. |
| 6 | + |
| 7 | +Peer recovery automatically occurs when {es}: |
| 8 | + |
| 9 | +* Recreates a shard lost during node failure |
| 10 | +* Relocates a shard to another node due to a cluster rebalance or changes to the |
| 11 | +<<modules-cluster, shard allocation settings>> |
| 12 | + |
| 13 | +You can view a list of in-progress and completed recoveries using the |
| 14 | +<<cat-recovery, cat recovery API>>. |
| 15 | + |
| 16 | +[float] |
| 17 | +==== Peer recovery settings |
| 18 | + |
| 19 | +`indices.recovery.max_bytes_per_sec` (<<cluster-update-settings,Dynamic>>):: |
| 20 | +Limits total inbound and outbound recovery traffic for each node. |
| 21 | +Defaults to `40mb`. |
| 22 | ++ |
| 23 | +This limit applies to nodes only. If multiple nodes in a cluster perform |
| 24 | +recoveries at the same time, the cluster's total recovery traffic may exceed |
| 25 | +this limit. |
| 26 | ++ |
| 27 | +If this limit is too high, ongoing recoveries may consume an excess |
| 28 | +of bandwidth and other resources, which can destabilize the cluster. |
| 29 | + |
| 30 | +[float] |
| 31 | +==== Expert peer recovery settings |
| 32 | +You can use the following _expert_ setting to manage resources for peer |
| 33 | +recoveries. |
| 34 | + |
| 35 | +`indices.recovery.max_concurrent_file_chunks` (<<cluster-update-settings,Dynamic>>, Expert):: |
| 36 | +Number of file chunk requests sent in parallel for each recovery. Defaults to |
| 37 | +`2`. |
| 38 | ++ |
| 39 | +You can increase the value of this setting when the recovery of a single shard |
| 40 | +is not reaching the traffic limit set by `indices.recovery.max_bytes_per_sec`. |
0 commit comments