सामान्य तौर पर, एक अच्छी तरह से डिज़ाइन किया गया क्लस्टर बिना स्पर्श किए YEARS के लिए रह सकता है। मेरे पास क्लस्टर्स हैं जो सालों तक हाथों-हाथ चले। हालांकि, यहां कुछ दिशानिर्देश दिए गए हैं:
निगरानी बेहद महत्वपूर्ण है:
1) मॉनिटर लेटेंसी। अक्षांशों का ट्रैक रखने के लिए opscenter या अपने पसंदीदा मैट्रिक्स टूल का उपयोग करें। ऊपर जा रही समस्याएं, आने वाली समस्याओं का संकेत हो सकती हैं, जिनमें जीसी पॉज़ (कार्य वर्कलोड की तुलना में रीड वर्कलोड में अधिक सामान्य), अस्थिर समस्याएँ, और पसंद हैं।
2) मॉनिटर sstable मायने रखता है। यदि आप संघनन से आगे निकल जाते हैं तो SSTable काउंट बढ़ जाएगा (प्रत्येक सेस्टेबल को ठीक एक बार लिखा जाता है - पुराने sstables को कंप्रेशन के माध्यम से पुराने sstables के संयोजन से हटाया जाता है)।
3) मॉनिटर नोड स्थिति में परिवर्तन (ऊपर / नीचे, आदि)। यदि आप नोड्स को फड़फड़ाते हुए देखते हैं, तो जांच करें, क्योंकि यह सामान्य नहीं है।
4) अपने डिस्क उपयोग का ट्रैक रखें - परंपरागत रूप से, आपको 50% से कम रहने की आवश्यकता है (खासकर यदि आप एसटीसीएस संघनन का उपयोग करते हैं)।
कुछ बुनियादी चीजें हैं जिन्हें आपको नियमित रूप से नहीं करना चाहिए:
1) स्पष्ट रूप से न चलाएं nodetool compact
। आप उल्लेख करते हैं कि आपने इसे किया है, यह घातक नहीं है, लेकिन यह बहुत बड़े sstables बनाता है, जो तब आगे बढ़ने वाले संघनन में भाग लेने की संभावना कम होती है। आपको इसे चालू रखने की आवश्यकता नहीं है, लेकिन कभी-कभी यह हटाए गए / अधिलेखित डेटा से छुटकारा पाने में मदद कर सकता है।
2) nodetool repair
आम तौर पर हर gc_grace_seconds
(10 दिन डिफ़ॉल्ट रूप से) की सिफारिश की जाती है । ऐसे कार्यभार हैं जहां यह कम महत्वपूर्ण है - आपके द्वारा एनईईडी मरम्मत का सबसे बड़ा कारण यह सुनिश्चित करना है कि समाप्ति tombstones
से पहले हटाने वाले मार्कर ( ) प्रेषित किए जाते हैं (वे रहते हैं gc_grace_seconds
, यदि डिलीट होने पर नोड डाउन हो जाता है, तो डेटा वापस आ सकता है। मरम्मत के बिना!)। यदि आप डिलीट जारी नहीं करते हैं, और आप पर्याप्त संगतता स्तर के साथ क्वेरी करते हैं (उदाहरण के लिए, QUORUM पर पढ़ता और लिखता है), तो आप वास्तव में मरम्मत के बिना जीवन जी सकते हैं।
3) यदि आप मरम्मत करने जा रहे हैं, तो वृद्धिशील मरम्मत का उपयोग करने पर विचार करें, और एक समय में छोटी रेंज की मरम्मत करें।
4) संघनन रणनीतियां बहुत मायने रखती हैं। एसटीसीएस लिखने के लिए महान है, एलसीएस रीड के लिए बहुत अच्छा है। DTCS के पास कुछ विचित्रताएँ हैं।
5) डेटा मॉडल मायने रखता है - जैसे कि आरडीबीएमएस / एसक्यूएल वातावरण मुश्किल में पड़ जाते हैं, क्योंकि बड़ी-बड़ी क्वेरीज़ बड़ी-बड़ी पंक्तियों में टकरा जाती हैं, कैसेंड्रा बहुत बड़ी पंक्तियों / विभाजनों के साथ समस्याग्रस्त हो सकती है।
6) स्नैपशॉट सस्ते हैं। बहुत सस्ता। लगभग तुरंत, केवल हार्ड लिंक, वे लगभग कोई डिस्क स्थान तुरंत खर्च करते हैं। संस्करण, विशेष रूप से प्रमुख संस्करणों को अपग्रेड करने से पहले स्नैपशॉट का उपयोग करें।
7) डिलीट से सावधान रहें। जैसा कि # 2 में संकेत दिया गया है, डिलीट डिस्क पर अधिक डेटा बनाता है, और इसे AT LEAST के लिए मुक्त नहीं करता है gc_grace_seconds
।
जब सब कुछ नाकामयाब हो:
मैंने उन लेखों को देखा है जो सुझाव देते हैं कि कैसेंड्रा को ठेस पहुंचाने के लिए किसी भी आकार के क्लस्टर का प्रबंधन करने के लिए एक समर्पित सिर की आवश्यकता होती है - मुझे नहीं पता कि यह आवश्यक रूप से सच है, लेकिन अगर आप चिंतित हैं, तो आप किसी तीसरे पक्ष के सलाहकार (TheLastPickle, Pythian) को नियुक्त करना चाहते हैं ) या आपको मानसिक शांति देने के लिए एक समर्थन अनुबंध (डेटास्टैक्स) है।