DBAtlas · Atlas für Datenbankbetrieb

Shards neu zuweisen, die das Retry-Limit erreicht haben (reroute retry_failed)

ElasticsearchCluster/Knoten

Befehl

# Attempt count and last failure details:
GET _cluster/allocation/explain?filter_path=index,shard,unassigned_info.reason,unassigned_info.failed_allocation_attempts,unassigned_info.details,allocate_explanation
# After fixing the cause, retry shards that hit the limit:
POST _cluster/reroute?retry_failed=true&metric=none
# Recovery progress:
GET _cat/recovery?v&active_only=true&h=index,shard,stage,source_node,target_node,bytes_percent,translog_ops_percent

Was es tut

Zeigt Fehlerdetails zu Shards, deren Allokation nach aufeinanderfolgenden Fehlschlägen gestoppt wurde (ALLOCATION_FAILED, max_retry), und löst die Allokation erneut aus; überwacht den Recovery-Fortschritt.

Wann einsetzen

Wenn allocation explain 'shard has exceeded the maximum number of retries' zeigt; nachdem eine volle Platte, ein beschädigtes Translog oder ein vorübergehendes Netzwerkproblem behoben wurde.

Vorsicht

retry_failed auszuführen, ohne die Ursache zu beheben, lässt den Shard 5 weitere Male versuchen und erneut scheitern; behebe zuerst den Fehler in unassigned_info.details. Gehen viele Shards gleichzeitig in Recovery, steigt die Netzwerk- und Plattenlast; begrenzt wird sie durch cluster.routing.allocation.node_concurrent_recoveries und indices.recovery.max_bytes_per_sec.

In DBAtlas öffnen →

Verwandte Einträge