कैसंड्रा रेप्लिकेशन फ़ैक्टर के बारे में जानकारी
कैसंड्रा भरोसेमंद और गड़बड़ी सहनशीलता पक्का करने के लिए एक से ज़्यादा नोड पर डेटा की प्रतिकृति सेव करता है. हर Edge कीस्पेस के लिए रेप्लिकेशन की रणनीति से उन नोड का पता चलता है जहां रिप्लिकेशन होते हैं रखा गया है.
किसी कैसेंड्रा क्लस्टर में किसी कीस्पेस के लिए प्रतिकृतियों की कुल संख्या को कीस्पेस का रेप्लिकेशन फ़ैक्टर. रेप्लिकेशन फ़ैक्टर होने का मतलब है कि सिर्फ़ एक कैशांड्रा क्लस्टर में हर पंक्ति की कॉपी होती है. दो के रेप्लिकेशन फ़ैक्टर का मतलब है कि दो हर पंक्ति की कॉपी जहां हर कॉपी अलग नोड में होती है. सभी प्रतिकृतियां समान रूप से महत्वपूर्ण होती हैं; यहां कोई प्राथमिक या मास्टर प्रतिकृति नहीं है.
किसी प्रोडक्शन सिस्टम में, जिसके हर डेटा सेंटर में तीन या उससे ज़्यादा कैसंड्रा नोड होते हैं, डिफ़ॉल्ट Edge कीस्पेस के लिए रेप्लिकेशन फ़ैक्टर तीन है. एक सामान्य नियम के तौर पर, प्रतिरूप कारक क्लस्टर में कैसंड्रा नोड की संख्या से ज़्यादा नहीं होनी चाहिए.
कैसेंड्रा स्कीमा को देखने के लिए नीचे दी गई प्रक्रिया का इस्तेमाल करें, जो हर एक एज कीस्पेस के लिए रेप्लिकेशन फ़ैक्टर को दिखाता है:
- किसी कैसेंड्रा नोड में लॉग इन करें.
- नीचे दिया गया निर्देश चलाएं:
/opt/apigee/apigee-cassandra/bin/cqlsh $(hostname -i) [-u
cassuser
-pcasspass
] -e "select keyspace_name, replication from system_schema.keyspaces;"जहां
$(hostname -i)
, कैसंड्रा नोड के आईपी पते से जोड़ता है. इसके अलावा,$(hostname -i)
को नोड के आईपी पते से बदला जा सकता है.cassuser
: अगर आपने Cassandra की पुष्टि करने की सुविधा चालू की है, तो Cassandra का उपयोगकर्ता नाम पास करें. यह ज़रूरी नहीं है. अगर आपने Cassandra की पुष्टि करने की सुविधा चालू नहीं की है, तो इसे स्किप किया जा सकता है.casspass
: अगर आपने Cassandra की पुष्टि करने की सुविधा चालू की है, तो Cassandra का पासवर्ड पास करें. यह ज़रूरी नहीं है. अगर आपने Cassandra की पुष्टि करने की सुविधा चालू नहीं की है, तो इसे स्किप किया जा सकता है.
आपको नीचे दिए गए उदाहरण जैसा आउटपुट दिखेगा, जिसमें हर पंक्ति एक कीस्पेस दिखाती है:
keyspace_name | replication kms | {'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy', 'dc-1': '3'} system_distributed | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'} apprepo | {'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy', 'dc-1': '3'}
आप देख सकते हैं कि डेटा सेंटर 1, dc-1 के लिए, तीन कैसंड्रा नोड वाले इंस्टॉलेशन के लिए कि॰मी॰ केस्पेस का डिफ़ॉल्ट रेप्लिकेशन फ़ैक्टर तीन है. कैसंड्रा के आंतरिक कुछ कीस्पेस के लिए (जैसे सिस्टम, system_schema वगैरह), रेप्लिकेशन रणनीति और रेप्लिकेशन फ़ैक्टर अलग-अलग हो सकते हैं. ऐसा जान-बूझकर किया जाता है.
यदि आप क्लस्टर में अतिरिक्त कैसंड्रा नोड जोड़ते हैं, तो डिफ़ॉल्ट प्रतिकृति कारक नहीं होता है प्रभावित.
कैसंड्रा कंसिस्टेंसी लेवल के बारे में जानकारी
कैसंड्रा कंसिस्टेंसी लेवल को कैसंड्रा नोड की कम से कम संख्या के तौर पर परिभाषित किया जाता है, जिसे कार्रवाई को सफल मानने से पहले, पढ़ने या लिखने की कार्रवाई को स्वीकार करें. अलग-अलग स्थायित्व लेवल को अलग-अलग Edge कीस्पेस के लिए असाइन किया जा सकता है.
रीड और राइट ऑपरेशन के लिए, कासांद्रा से कनेक्ट करते समय, मैसेज प्रोसेसर, और मैनेजमेंट
सर्वर नोड आम तौर पर इन कामों के लिए LOCAL_QUORUM
की Cassandra वैल्यू का इस्तेमाल करते हैं
कीस्पेस के लिए एकरूपता लेवल तय करें. हालांकि, कुछ कीस्पेस को
एक जैसा लेवल होना चाहिए.
डेटा सेंटर के लिए LOCAL_QUORUM
वैल्यू की गिनती, इस तरह से की जाती है:
LOCAL_QUORUM = (replication_factor/2) + 1
जैसा कि ऊपर बताया गया है, Edge प्रोडक्शन एनवायरमेंट के लिए, डिफ़ॉल्ट रेप्लिकेशन फ़ैक्टर के साथ
तीन कैसंड्रा नोड तीन हैं. इसलिए, LOCAL_QUORUM
की डिफ़ॉल्ट वैल्यू =
(3/2) +1 = 2 (वैल्यू को पूर्णांक में बदल दिया जाता है).
डेटा में तीन कैसंड्रा नोड में से कम से कम दो में से LOCAL_QUORUM
= 2 होने पर
कार्रवाई के सफल होने के लिए, सेंटर को रीड/राइट ऑपरेशन का जवाब देना चाहिए. तीन नोड के लिए
इसलिए, कैसंड्रा क्लस्टर है, इसलिए यह क्लस्टर हर डेटा सेंटर में एक नोड के बंद होने को बर्दाश्त कर सकता है.
कंसिस्टेंसी लेवल को LOCAL_QUORUM
के तौर पर तय करने पर, Edge इंतज़ार के समय से बचाता है
कई डेटा सेंटर में कार्रवाइयों की पुष्टि करने के लिए ज़रूरी है. अगर एक कीस्पेस ने कैसंड्रा का इस्तेमाल किया
कंसिस्टेंसी लेवल के तौर पर QUORUM
वैल्यू, 'पढ़ें/लिखें' कार्रवाइयां यह होनी चाहिए
सभी डेटा सेंटर पर पुष्टि की गई.
Edge मैसेज प्रोसेसर या मैनेजमेंट सर्वर नोड, कंसिस्टेंसी लेवल का इस्तेमाल कर रहे हैं या नहीं, यह देखने के लिए:
- मैसेज प्रोसेसर नोड में लॉग इन करें.
/opt/apigee/edge-message-processor/conf
डायरेक्ट्री में बदलें:cd /opt/apigee/edge-message-processor/conf
- एक जैसी सुविधाओं के साथ पढ़ने और लिखने के लिए:
grep -ri "consistency.level" *
- मैनेजमेंट सर्वर नोड में लॉग इन करें.
/opt/apigee/edge-management-server/conf
डायरेक्ट्री में बदलें:cd /opt/apigee/edge-management-server/conf
- तीसरा चरण दोहराएं.
अगर आप क्लस्टर में अतिरिक्त कैसंड्रा नोड जोड़ते हैं, तो स्थिरता का स्तर प्रभावित नहीं होता है.