ฉันจำเป็นต้องเปลี่ยนชื่อหลายดัชนีในคลัสเตอร์ (ชื่อของพวกเขาจะต้องมีการเปลี่ยนแปลงฉันไม่สามารถใช้นามแฝง )
ฉันเห็นว่าไม่มีวิธีที่รองรับในการทำเช่นนั้นสิ่งที่ใกล้เคียงที่สุดที่ฉันพบคือการเปลี่ยนชื่อไดเร็กทอรีของดัชนีฉันลองสิ่งนี้ในคลัสเตอร์
กลุ่มที่มี 3 เครื่องA
, B
และC
และเศษที่มีการจำลองแบบของเขาแต่ละคน ฉันปิด ElasticSearch บนA
เปลี่ยน/var/lib/elasticsearch/security/nodes/0/indices/oldindexname
ไปและเริ่มต้นใหม่/var/lib/elasticsearch/security/nodes/0/indices/newindexname
A
สถานะของคลัสเตอร์เป็นสีเหลืองและยางยืดผู้ค้นหากำลังใช้เวทมนตร์บางอย่างเพื่อฟื้นฟูสถานะที่ถูกต้อง หลังจากนั้นไม่นานฉันก็จบลงด้วย
oldindexname
พร้อมใช้งานและจำลองแบบเต็มที่ (กู้คืนจากB
และC
ฉันเดา)newindexname
มีอยู่ (ฉันสามารถค้นหาได้) แต่ปลั๊กอินส่วนหัวแสดงให้เห็นว่าเศษของมันอยู่ในสถานะ "ไม่ได้กำหนด" และเป็นสีเทา (ไม่ได้จำลองแบบ)
ในระหว่างการกู้คืนsecurity.log
แสดงข้อความต่อไปนี้:
[2015-02-20 11:02:33,461][INFO ][gateway.local.state.meta ] [A.example.com] dangled index directory name is [newindexname], state name is [oldindexname], renaming to directory name
แม้ว่าnewindexname
จะสามารถค้นหาได้ แต่ก็ไม่ได้อยู่ในสถานะปกติอย่างแน่นอน
newindexname
ผมย้อนกลับสู่สถานะก่อนหน้านี้โดยการลบ คลัสเตอร์จะกลับมาเป็นสีเขียวโดยไม่มีรายการ "Unassigned"
ด้วยเหตุนี้ฉันoldindexname
จะเปลี่ยนชื่อnewindexname
เป็นคลัสเตอร์ได้อย่างไร
หมายเหตุ:ทางออกที่ดีที่สุดที่ฉันมีในใจคือการเลื่อนสำเนาoldindex
เข้าnewindex
และลบoldindex
หลังจากนั้น ซึ่งจะต้องใช้เวลาดังนั้นหากมีวิธีแก้ปัญหาที่ตรงกว่านี้ก็จะดีมาก