Saya memiliki cluster ES dengan 4 node:
number_of_replicas: 1
search01 - master: false, data: false
search02 - master: true, data: true
search03 - master: false, data: true
search04 - master: false, data: true
Saya harus me-restart search03, dan ketika kembali, itu bergabung kembali dengan cluster tidak ada masalah, tetapi meninggalkan 7 pecahan yang tidak ditugaskan meletakkan tentang.
{
"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
}
Sekarang kluster saya dalam kondisi kuning. Apa cara terbaik untuk mengatasi masalah ini?
- Hapus (batalkan) pecahan?
- Pindahkan pecahan ke simpul lain?
- Mengalokasikan pecahan ke node?
- Perbarui 'number_of_replicas' ke 2?
- Sesuatu yang lain sama sekali?
Menariknya, ketika indeks baru ditambahkan, simpul itu mulai bekerja di sana dan bermain bagus dengan seluruh cluster, itu hanya meninggalkan pecahan yang belum ditetapkan meletakkan.
Ikuti pertanyaan: apakah saya melakukan sesuatu yang salah yang menyebabkan hal ini terjadi? Saya tidak memiliki banyak kepercayaan pada gugus yang berperilaku seperti ini ketika sebuah simpul dimulai kembali.
CATATAN: Jika Anda menjalankan satu cluster node untuk beberapa alasan, Anda mungkin perlu melakukan hal berikut:
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 }
Meskipun saya dapat melihat bahwa beling adalah salah satu yang tidak terisi di ES-Head