मुझे एक क्लस्टर में कई इंडेक्स का नाम बदलने की जरूरत है (उनका नाम अवश्य होना चाहिए बदला जा, मैं उपयोग नहीं कर सकते उपनाम )।
मैंने देखा कि ऐसा करने के लिए कोई भी समर्थित तरीका नहीं है, जो मैंने पाया वह निकटतम है वह सूचकांक की निर्देशिका का नाम बदलना है , मैंने इसे एक क्लस्टर में आज़माया।
क्लस्टर में 3 मशीनें हैं A, Bऔर Cशार्क उनमें से प्रत्येक पर दोहराई जाती है। मैंने 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बाद में हटाना है। यह समय लेने वाला है इसलिए यदि अधिक प्रत्यक्ष समाधान है तो यह बहुत अच्छा होगा।