Tengo un clúster ES con 4 nodos:
number_of_replicas: 1
search01 - master: false, data: false
search02 - master: true, data: true
search03 - master: false, data: true
search04 - master: false, data: true
Tuve que reiniciar search03, y cuando regresó, se unió al clúster sin problemas, pero dejó 7 fragmentos sin asignar por ahí.
{
"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
}
Ahora mi grupo está en estado amarillo. ¿Cuál es la mejor manera de resolver este problema?
- ¿Eliminar (cancelar) los fragmentos?
- ¿Mover los fragmentos a otro nodo?
- ¿Asignar los fragmentos al nodo?
- ¿Actualizar 'number_of_replicas' a 2?
- Algo más por completo?
Curiosamente, cuando se agregó un nuevo índice, ese nodo comenzó a trabajar en él y jugó bien con el resto del clúster, simplemente dejó los fragmentos no asignados por ahí.
Siga la pregunta: ¿estoy haciendo algo mal para que esto suceda en primer lugar? No tengo mucha confianza en un clúster que se comporta de esta manera cuando se reinicia un nodo.
NOTA: Si está ejecutando un clúster de nodo único por alguna razón, es posible que simplemente necesite hacer lo siguiente:
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 }
Aunque puedo ver que el fragmento es uno de los no asignados en ES-Head