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