जवाबों:
दस्तावेज़ीकरण को देखने के दौरान, मुझे इसके लिए एक संदर्भ खोजने में कठिन समय हो रहा है, लेकिन संक्षिप्त उत्तर "हां" है, आपको 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हर नोड पर चलाऊं, तो क्या यह पूरे कीस्पेस को कवर करेगा?