2013-12-12 7 views
6

कैसंड्रा संस्करण 1.2.9। पांच नोड क्लस्टर, लेकिन नोड्स में से एक हार्डवेयर विफलता के साथ नीचे है और मरम्मत/प्रतिस्थापन ईटीए अज्ञात है। मैं नीचे नोड को हटाना/निकालना चाहता हूं (अधिसूचनाएं सभी लॉगों को अव्यवस्थित कर रही हैं)। nodetool removenode सही लगता है, सिवाय इसके कि इसे एक मेजबान आईडी की आवश्यकता है। डाउन नोड में कोई मेजबान आईडी नहीं है (स्थिति में शून्य के रूप में सूचीबद्ध):कैसंद्रा - एक मृत नोड को कैसे हटाएं

ऐसा प्रतीत होता है कि हटाने के लिए अब नोडेटूल का विकल्प नहीं है।

इस मृत नोड को हटाने का सही तरीका क्या है?

+0

मैं आपको डेटास्टैक्स के "एक मृत नोड की जगह" दस्तावेज के लिए एक लिंक देने जा रहा था, लेकिन अंतिम चरण एक 'नोडेटूल रीमॉवनोड' करना है जो आपने कहा है कि आपके लिए काम नहीं करेगा। क्या आपने 'नोडेटूल मूव' को देखने की कोशिश की है? सिद्धांत रूप में आप प्रतिस्थापन नोड (प्रारंभिक_टोकन सेट के साथ मृत नोड, शून्य 1) ​​के साथ ला सकते हैं और फिर वांछित टोकन रेंज पर ले जा सकते हैं। – Aaron

+1

मेरे पास अभी तक एक प्रतिस्थापन सर्वर नहीं है। मैंने removetoken कोशिश की; यह इस संस्करण में बहिष्कृत है। मैंने removenode कोशिश की; लेकिन कोई मेजबान आईडी नहीं है, इसलिए यह विफल हो जाता है। मैंने कदम की कोशिश की और यह पर्याप्त स्ट्रीमिंग स्रोतों में विफल रहा। अगला अप एक जेएमएक्स कमांड था: खोल मोड दर्ज करना। % jmx_invoke -m org.apache.cassandra.net:type=Gossiper unsafeAssassinateEndpoint । यह एक शून्य सूचक अपवाद के साथ विफल रहा। अभी भी इस पर काम कर रहा है। –

+6

निम्नलिखित कदम डीआईडी ​​काम करते हैं: - 1) प्रत्येक शेष नोड पर, अपने cassandra-env.sh फ़ाइल में JVM_OPTS को जोड़ें -Dcassandra.load_ring_state = गलत करें और पुनरारंभ करें। - 2) फिर से नोडेटूल स्थिति चलाएं और पुष्टि करें कि अवांछित नोड चला गया है। - 3) प्रत्येक नोड पर, system.peers से हटाएं जहां peer = '[मृत नोड का आईपी पता]'; cqlsh - 4) प्रत्येक नोड पर cassandra-env.sh से निकालें -Dcassandra.load_ring_state = निकालें और पुनरारंभ करें। –

उत्तर

0

प्रश्न कैसंद्रा के पुराने संस्करण के लिए है। लेकिन आधिकारिक समाधान कैसंड्रा के किसी भी संस्करण के लिए आवेदन करना चाहिए - https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsGossipPurge.html

वहां मूल रूप से क्लस्टर को रोकने के लिए कदम, पेयरिंग से संबंधित स्टेबल्स को हटाएं, गपशप स्थिति को साफ़ करें और क्लस्टर को पुनरारंभ करें; जो समझ में आता है।

संबंधित मुद्दे