Verlorenen Primary Shard als letztes Mittel zuweisen (allocate_stale_primary)
ElasticsearchCluster/KnotenBefehl
# Which nodes hold copies of the primary (allocation id, store errors):
GET _shard_stores/musteri?status=red
# Last resort: promote a stale copy to primary; data loss is accepted:
POST _cluster/reroute
{
"commands": [
{
"allocate_stale_primary": {
"index": "musteri",
"shard": 0,
"node": "node-2",
"accept_data_loss": true
}
}
]
}Was es tut
Weist bei dauerhaftem Verlust des Knotens mit der aktuellen Primary-Kopie eine ältere (nicht in-sync) Kopie auf einem anderen Knoten als Primary zu, um den Index aus dem roten Zustand zu holen.
Wann einsetzen
Nur wenn der Knoten mit dem Primary nicht wiederherstellbar ist und ein Restore aus einem Snapshot nicht in Frage kommt oder länger dauern würde.
Vorsicht
Die veraltete Kopie enthält nicht die neuesten Schreibvorgänge; alle nach dieser Kopie erfolgten Schreibvorgänge gehen endgültig verloren. Kehrt der verlorene Knoten später zurück, wird die aktuellere Kopie darauf gelöscht. Erwäge zuerst, den Knoten wiederherzustellen oder aus einem Snapshot wiederherzustellen. allocate_empty_primary legt den Shard völlig leer an und löscht alle Daten in diesem Shard; nur verwenden, wenn keine Kopie mehr existiert.