Dies ist der Fall, wenn Elasticsearch der Meinung ist, dass der Speicherplatz auf der Festplatte knapp wird, sodass er sich in den schreibgeschützten Modus versetzt.
Standardmäßig basiert die Entscheidung von Elasticsearch auf dem Prozentsatz des freien Speicherplatzes. Bei großen Festplatten kann dies auch dann passieren, wenn Sie über viele Gigabyte freien Speicherplatz verfügen.
Das Wasserzeichen für die Flutphase beträgt standardmäßig 95%. Auf einem 1-TB-Laufwerk benötigen Sie mindestens 50 GB freien Speicherplatz. Andernfalls wird Elasticsearch in den schreibgeschützten Modus versetzt.
Dokumente zum Wasserzeichen der Flutphase finden Sie unter https://www.elastic.co/guide/en/elasticsearch/reference/6.2/disk-allocator.html .
Die richtige Lösung hängt vom Kontext ab - zum Beispiel von einer Produktionsumgebung oder einer Entwicklungsumgebung.
Lösung 1: Geben Sie Speicherplatz frei
Wenn Sie genügend Speicherplatz freigeben, sodass mehr als 5% der Festplatte frei sind, wird dieses Problem behoben. Elasticsearch verlässt den schreibgeschützten Modus nicht automatisch, sobald genügend Festplatte frei ist. Sie müssen jedoch Folgendes tun, um die Indizes freizuschalten:
$ curl -XPUT -H "Content-Type: application/json" https://[YOUR_ELASTICSEARCH_ENDPOINT]:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'
Lösung 2: Ändern Sie die Wasserzeicheneinstellung für die Flutstufe
Ändern Sie die "cluster.routing.allocation.disk.watermark.flood_stage"
Einstellung auf etwas anderes. Sie kann entweder auf einen niedrigeren Prozentsatz oder auf einen absoluten Wert eingestellt werden. Hier ist ein Beispiel, wie Sie die Einstellung in den Dokumenten ändern können :
PUT _cluster/settings
{
"transient": {
"cluster.routing.allocation.disk.watermark.low": "100gb",
"cluster.routing.allocation.disk.watermark.high": "50gb",
"cluster.routing.allocation.disk.watermark.flood_stage": "10gb",
"cluster.info.update.interval": "1m"
}
}
Nachdem Sie dies getan haben, müssen Sie den obigen Befehl curl verwenden, um die Indizes zu entsperren. Danach sollten sie jedoch nicht mehr in den schreibgeschützten Modus wechseln.