2016-05-08 6 views

उत्तर

11

डिमोकेशन छोड़ने वाले नोड से डेटा स्ट्रीम करता है। इसलिए, आप उसी स्थिरता को बनाए रखने की गारंटी देते हैं जब आपने ऑपरेशन शुरू किया था।

रेमोवेनोड किसी भी उपलब्ध नोड से डेटा स्ट्रीम करता है जो सीमा का मालिक है। यह संभव है कि आप डेटा लिखने के लिए उपयोग की जाने वाली मरम्मत और स्थिरता स्तर के बाद अपने समय के आधार पर स्थिरता (और संभावित रूप से डेटा खो दें) का उल्लंघन कर सकें।

आमतौर पर, यदि संभव हो तो आपको डिमोकेशन पसंद करना चाहिए। कल्पना करें कि आपके पास 5 नोड क्लस्टर (एई) है, और एक दिया गया लेखन बी, सी, और डी पर जाएगा। आप कोरम के साथ लिखते हैं, इसलिए किसी कारण से सी नीचे है, लेकिन एक लिख बी और डी में जाती है। जब सी वापस आती है ऑनलाइन, डी को क्लस्टर से हटा दिया जाना चाहिए (आप डाउनसाइजिंग कर रहे हैं, या ड्राइव बदल रहे हैं, या कुछ)।

  • अगर डी ऑनलाइन है, तो आप decommission चलाने के लिए, और डी ई करने के लिए अपने डेटा भेजता है - आप डेटा के सभी के 2 प्रतिकृतियां रखने के लिए, और आप बाद में मरम्मत चलाने के लिए सी करने के लिए लिखने प्राप्त करने में सक्षम हो जाएगा

  • यदि डी ऑफ़लाइन है, या यदि आप डिमोकेशन के बजाय रीमोनोड चलाते हैं, तो आप डी के बजाय सी से स्ट्रीम कर सकते हैं। इस मामले में, अब आपके पास 2 प्रतिकृतियां (सी और ई) हैं जो डेटा खो रहे हैं। यदि आप कोरम पर पढ़ते हैं, तो अब आप बी के बजाय सी और ई दबा सकते हैं, और परिणाम प्राप्त कर सकते हैं जिसमें डेटा गुम है। एक मरम्मत इसे हल कर सकती है, जब तक आपका मूल लेखन एक से अधिक नोड पर जाता है, लेकिन यदि आपका मूल लेखन केवल एक नोड में जाता है, तो आप वास्तव में डेटा खो सकते हैं।

हत्यारा शायद ही कभी इस्तेमाल किया जाने वाला टूल है जिसका उपयोग केवल क्लस्टर से नोड को मजबूर करने के लिए किया जाना चाहिए। कोई स्ट्रीमिंग नहीं की जाती है। डेटा हानि का मौका काफी अधिक है, खासकर यदि आप आरएफ < 3 का उपयोग करते हैं और सीएल < सभी के साथ लिखें।

+0

यह बहुत समझ में आता है! सर्वर को अपग्रेड करने का तरीका क्या होगा? नोड पर एक नोडेटूल नाली मारो, नीचे, प्रतिलिपि को नए नोड में कॉपी करें, पिछले नोड के लिए निकालें नोड करें और इस वर्तमान नोड को जोड़ें? –

+0

आप किस प्रकार के अपग्रेड के बारे में बात कर रहे हैं? हार्डवेयर अपग्रेड? आपको शायद sstables मैन्युअल रूप से प्रतिलिपि बनाने की आवश्यकता नहीं है। –

+0

हां मैं सोच रहा हूं कि सबसे कुशल दृष्टिकोण क्या हो सकता है। [इस लिंक] के अनुसार (https://docs.datastax.com/en/cassandra/2.1/cassandra/operations/ops_replace_live_node.html) किसी को सर्वर पर नया नोड जोड़ने की आवश्यकता है और उसके बाद बूटस्ट्रैपिंग पूर्ण होने के बाद, डिमोकेशन पुराना नोड लेकिन पुराने नोड को कैसे निकालें, इसे रोकें, और एसएसटीबल को अपग्रेड सर्वर में कॉपी करें और इसे चलाएं? मुझे यकीन है कि मैं यहां एक बिंदु खो रहा हूँ। –

1

अंतर यह है कि डेटा कैसे स्थानांतरित हो जाता है। डिमोकिशन में, छोड़ने वाला नोड क्लस्टर को छोड़ने से पहले डेटा को स्थानांतरित करता है, जहां हटाए गए नोड में, डेटा को क्लस्टर में एक ही टोकन के साथ प्रतिकृतियों का उपयोग करके स्थानांतरित किया जाता है।

इसलिए मृतक नोड का उपयोग करके Decommission नहीं किया जा सकता है।

+0

हत्या के बारे में क्या। हत्या और removenode के बीच क्या अंतर है? –

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