Ich habe einen ES-Cluster mit 4 Knoten:
number_of_replicas: 1
search01 - master: false, data: false
search02 - master: true, data: true
search03 - master: false, data: true
search04 - master: false, data: true
Ich musste search03 neu starten, und als es zurückkam, trat es problemlos wieder in den Cluster ein, ließ aber 7 nicht zugewiesene Shards herumliegen.
{
"cluster_name" : "tweedle",
"status" : "yellow",
"timed_out" : false,
"number_of_nodes" : 4,
"number_of_data_nodes" : 3,
"active_primary_shards" : 15,
"active_shards" : 23,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 7
}
Jetzt befindet sich mein Cluster im gelben Zustand. Was ist der beste Weg, um dieses Problem zu beheben?
- Splitter löschen (abbrechen)?
- Verschieben Sie die Shards auf einen anderen Knoten?
- Die Shards dem Knoten zuordnen?
- 'Number_of_replicas' auf 2 aktualisieren?
- Etwas ganz anderes?
Interessanterweise begann dieser Knoten, als ein neuer Index hinzugefügt wurde, daran zu arbeiten und spielte gut mit dem Rest des Clusters. Er ließ nur die nicht zugewiesenen Shards herumliegen.
Folgen Sie der Frage: Mache ich etwas falsch, damit dies überhaupt passiert? Ich habe nicht viel Vertrauen in einen Cluster, der sich beim Neustart eines Knotens so verhält.
ANMERKUNG: Wenn Sie aus irgendeinem Grund einen einzelnen Knotencluster ausführen, müssen Sie möglicherweise einfach Folgendes tun:
curl -XPUT 'localhost:9200/_settings' -d '
{
"index" : {
"number_of_replicas" : 0
}
}'
{ "error" : "ElasticsearchIllegalArgumentException[[allocate] failed to find [logstash-2015.01.05][1] on the list of unassigned shards]", "status" : 400 }
Obwohl ich sehen kann, dass Scherbe eine der nicht zugewiesenen in ES-Head ist