जवाबों:
दस्तावेज़ीकरण को देखने के दौरान, मुझे इसके लिए एक संदर्भ खोजने में कठिन समय हो रहा है, लेकिन संक्षिप्त उत्तर "हां" है, आपको nodetool repair
अपने क्लस्टर में प्रत्येक नोड पर चलने की आवश्यकता है । निकटतम मैं पा सकता हूं कि नोड्स की मरम्मत पर प्रलेखन है जो बताता है कि आपको एक बार में अपने क्लस्टर में एक से अधिक नोड पर मरम्मत नहीं करनी चाहिए।
आप ध्वज के साथ मरम्मत भी चला सकते हैं -pr
, जो मरम्मत कार्य को पहले टोकन सीमा तक सीमित करता है जो वर्तमान नोड के लिए जिम्मेदार है। यह शेष नोड्स पर चलने पर काम के दोहराव पर कटौती करता है।
-pr
प्रत्येक नोड पर चलाते हैं तो यह संपूर्ण कीस्पेस (s) को कवर करेगा।
-pr
झंडे के साथ समय बचा सकते हैं ।
यह कैसे व्यवहार करता है यह आपके कॉन्फ़िगरेशन पर निर्भर करता है कि आप कैसंड्रा के किस संस्करण का उपयोग करते हैं, और आप मरम्मत कमांड कैसे चलाते हैं।
यदि आप nodetool repair
किसी क्लस्टर में केवल एक नोड पर चलते हैं, तो यह सभी डेटा (टोकन रेंज) की मरम्मत करेगा जो नोड के लिए ज़िम्मेदार है और अन्य नोड्स जो उस डेटा के लिए ज़िम्मेदार हैं।
उदाहरण के लिए, यदि आप nodetool repair
दिए गए क्लस्टर में एक नोड पर कमांड चलाना चाहते थे :
उस ने कहा, यह परिभाषित करना संभव है कि मेजबानों और डेटा केंद्रों -hosts
और -dc
झंडे के उपयोग पर मरम्मत करने के लिए क्या करें । इसके अतिरिक्त यदि आप -pr
ध्वज का उपयोग करते हैं (जो केवल पहली टोकन सीमा को लेगा तो नोड इसके लिए ज़िम्मेदार है) आपको क्लस्टर में सभी नोड्स nodetool repair -pr
पर चलना होगा ।
ध्यान में रखने वाला एक अन्य ध्वज -inc
ध्वज है, जिसे कैसंड्रा 2.1 में शामिल किया गया था। यह विकल्प केवल नए डेटा (डेटा जो पहले से मरम्मत नहीं किया गया है) की मरम्मत करेगा। इस पर भरोसा करते समय सावधान रहें, खासकर यदि आप अक्सर डेटा हटाते हैं। ( इस पर और अधिक )
कुछ और ध्यान में रखना है कि कैसंड्रा में डिफ़ॉल्ट तरीके से मरम्मत की जाती है। कैसंड्रा 2.1 के रूप में जब बस चलती है तो nodetool repair
यह डिफ़ॉल्ट रूप से पूर्ण अनुक्रमिक मरम्मत करता है। आप देखना चाहेंगे कि आपका संस्करण क्या करता है।
विषय पर अधिक पढ़ने के लिए:
नहीं, आपको प्रत्येक व्यक्तिगत नोड पर नहीं चलना होगा। nodetool repair
नोड्स के सेट पर चलता है, जो स्पष्ट रूप से प्रलेखन में कहा गया है ।
आप नोड्स या डेटा का हिस्सा सीमित कर सकते हैं जिस पर आप मरम्मत चलाना चाहते हैं। उदाहरण के लिए, आप -pr
पार्टीशनर रेंज के लिए विकल्प प्रदान कर सकते हैं , जिसके लिए नोड जिम्मेदार है, लेकिन इसे पूरे क्लस्टर पर चलाना होगा। लेकिन अगर आपने चुना है -local
, तो नोड के स्थानीय डेटासेंटर में नोड्स की मरम्मत हो जाएगी।
nodetool repair
एकल नोड पर चलना सभी कॉन्फ़िगरेशन में सभी नोड्स पर सभी प्रतिकृति डेटा को सुधारने के लिए पर्याप्त नहीं है। nodetool repair
एकल नोड पर चलने से केवल उस नोड पर प्रतिकृति किए गए डेटा की मरम्मत होगी। ( -pr
विकल्प को जोड़ने से डेटा की मरम्मत सीमित हो जाती है जिसके लिए यह नोड पहली प्रतिकृति है।) लेकिन यदि आपके पास अपने क्लस्टर में डेटा है जिसे इस नोड पर दोहराया नहीं गया है, तो आपको nodetool repair
अतिरिक्त नोड्स पर चलना होगा ।
-pr
हर नोड पर चलाऊं, तो क्या यह पूरे कीस्पेस को कवर करेगा?