ฉันมี ES คลัสเตอร์ที่มี 4 โหนด:
number_of_replicas: 1
search01 - master: false, data: false
search02 - master: true, data: true
search03 - master: false, data: true
search04 - master: false, data: true
ฉันต้องรีสตาร์ท search03 และเมื่อมันกลับมามันกลับมารวมกันอีกครั้งโดยไม่มีปัญหา แต่เหลือ 7 ชิ้นที่ไม่ได้ถูกมอบหมายวางลง
{
"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
}
ตอนนี้คลัสเตอร์ของฉันอยู่ในสถานะสีเหลือง วิธีที่ดีที่สุดในการแก้ไขปัญหานี้คืออะไร
- ลบ (ยกเลิก) เศษหรือไม่
- ย้ายเศษไปยังโหนดอื่นหรือไม่
- จัดสรรเศษให้กับโหนดหรือไม่
- อัปเดต 'number_of_replicas' เป็น 2 หรือไม่
- มีอะไรอีกบ้าง?
ที่น่าสนใจเมื่อมีการเพิ่มดัชนีใหม่โหนดนั้นเริ่มทำงานกับมันและเล่นได้ดีกับส่วนที่เหลือของคลัสเตอร์มันเพิ่งเหลือเศษที่ไม่ได้กำหนดไว้
ติดตามคำถาม: ฉันทำอะไรผิดหรือเปล่าที่ทำให้สิ่งนี้เกิดขึ้นตั้งแต่แรก? ฉันไม่มีความมั่นใจในคลัสเตอร์ที่ทำงานในลักษณะนี้เมื่อมีการรีสตาร์ทโหนด
หมายเหตุ:หากคุณใช้คลัสเตอร์โหนดเดียวด้วยเหตุผลบางประการคุณอาจต้องทำสิ่งต่อไปนี้:
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 }
แม้ว่าฉันจะเห็นว่าเศษเป็นหนึ่งในคนที่ไม่ได้ปันส่วนใน ES-Head