यह अनुभाग कैसंड्रा के बनाए गए तरीके से कैसंड्रा के संचालन को मापने के लिए सामान्य दिशा-निर्देश देता है निजी क्लाउड रैक के लिए Apigee Edge पर है.
अपने Cassandra रिंग रैक को समझना क्यों महत्वपूर्ण है, इस बारे में अधिक जानकारी के लिए, निम्न देखें संसाधन:
- रेप्लिकेशन (कैसंड्रा के दस्तावेज़)
- कैसांद्रा आर्किटेक्चर और रेप्लिकेशन फ़ैक्टर से जुड़ी रणनीति
रैक क्या होता है?
कैसंड्रा रैक रिंग के अंदर कैसंड्रा नोड का लॉजिकल ग्रुप होता है. कास्सांद्रा रैक का इस्तेमाल करता है, ताकि यह पक्का किया जा सके कि अलग-अलग लॉजिकल ग्रुप के बीच रेप्लिकेशन का बंटवारा हो रहा है. बतौर इससे, सिर्फ़ एक नोड पर नहीं, बल्कि कई नोड पर कार्रवाइयां भेजी जाती हैं. हर नोड को एक अलग रैक पर भेजा जाता है, गड़बड़ी को बर्दाश्त किया जा सकता है और उपलब्धता बढ़ाई जा सकती है.
इस सेक्शन के उदाहरणों में तीन कैसंड्रा रैक का इस्तेमाल किया गया है, जो कि प्रोडक्शन टोपोलॉजी में Apigee का इस्तेमाल किया जा सकता है.
निजी क्लाउड के लिए Apigee Edge में कैसंद्रा का डिफ़ॉल्ट इंस्टॉलेशन, एक लॉजिकल रैक मानता है और सभी नोड, उसके अंदर मौजूद डेटा सेंटर में मौजूद होते हैं. हालांकि, यह कॉन्फ़िगरेशन इंस्टॉल और मैनेज करने में आसान है, लेकिन अगर इनमें से किसी भी नोड पर कोई कार्रवाई नहीं हो पाती है, तो हो सकता है कि वह काम न करे.
नीचे दी गई इमेज में, कैसंड्रा रिंग का डिफ़ॉल्ट कॉन्फ़िगरेशन दिखाया गया है:
ज़्यादा मज़बूत कॉन्फ़िगरेशन में, हर नोड को एक अलग रैक और ऑपरेशन को असाइन किया जाएगा उन सभी रैक की प्रतिकृतियों पर भी काम करेगा.
नीचे दी गई इमेज में 3-नोड रिंग दिखाया गया है. इस इमेज में बताया गया है कि कार्रवाइयां किस क्रम में की जा रही हैं घड़ी की दिशा में दिशा में दोहराया गया है (घड़ी की सुई की दिशा में) इससे दिखाया गया है कि कोई भी दो नोड एक ही नहीं हैं रैक:
इस कॉन्फ़िगरेशन में, कार्रवाइयों को किसी नोड पर भेजा जाता है. साथ ही, उन्हें उस नोड की प्रतिकृति पर भी भेजा जाता है अन्य रैक पर लगा सकते हैं (घड़ी की सुई की दिशा में).
रैक जागरूकता जोड़ें (तीन नोड के साथ)
निजी क्लाउड के लिए Apigee Edge के सभी प्रोडक्शन इंस्टॉलेशन टोपोलॉजी में कम से कम तीन कैसेंड्रा नोड होते हैं, जिन्हें यह सेक्शन इसे "IP1", "IP2", और "IP3" कहा जाता है. डिफ़ॉल्ट रूप से, इनमें से हर नोड एक ही रैक में होता है. "ra-1".
इस सेक्शन में बताया गया है कि कैसंड्रा नोड को अलग-अलग रैक पर कैसे असाइन करें, ताकि सभी ऑपरेशन को रिंग के अंदर अलग-अलग लॉजिकल ग्रुपिंग में रेप्लिका नोड में भेजा जाता है.
इंस्टॉल करने के दौरान, कैसंड्रा नोड को अलग-अलग रैक पर असाइन करने के लिए:
- इंस्टॉलर को चलाने से पहले, कैसेंड्रा नोड में लॉग इन करें और
बदलाव करने के लिए साइलेंट कॉन्फ़िगरेशन फ़ाइल नीचे दी गई है:
/opt/silent.conf
अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं और "apigee" बनाना न भूलें उपयोगकर्ता और मालिक.
CASS_HOSTS
प्रॉपर्टी में बदलाव करें. यह आईपी पतों की स्पेस से अलग की गई सूची होती है (डीएनएस या होस्टनेम वाली एंट्री) जो इस सिंटैक्स का इस्तेमाल करती हैं:CASS_HOSTS="IP_address:data_center_number,rack_number [...]"
डिफ़ॉल्ट मान तीन नोड कैसंड्रा रिंग है, जिसमें हर नोड रैक 1 और डेटा को असाइन किया गया है बीच 1 पर, जैसा कि नीचे दिए गए उदाहरण में बताया गया है:
CASS_HOSTS="IP1:1,1 IP2:1,1 IP3:1,1"
- रैक असाइनमेंट बदलें, ताकि नोड 2 को रैक 2 को असाइन किया जाए और नोड 3 को रैक 2 को असाइन किया जाए
रैक 3 का इस्तेमाल करते हैं, जैसा कि नीचे दिए गए उदाहरण में बताया गया है:
CASS_HOSTS="IP1:1,1 IP2:1,2 IP3:1,3"
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया हैरैक असाइनमेंट बदलकर, आप कैसंड्रा को दो अतिरिक्त लॉजिकल बनाने के लिए निर्देश देते हैं ग्रुपिंग (रैक), जो उसके बाद की प्रतिकृतियों को उपलब्ध कराते हैं, जो पहला नोड.
CASS_HOSTS
कॉन्फ़िगरेशन प्रॉपर्टी का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, यहां देखें एज कॉन्फ़िगरेशन फ़ाइल का रेफ़रंस. - कॉन्फ़िगरेशन फ़ाइल में अपने बदलावों को सेव करें. इसके बाद, इंस्टॉल करने के लिए, यहां दिया गया कमांड एक्ज़ीक्यूट करें
आपके अपडेट किए गए कॉन्फ़िगरेशन के साथ कैसंड्रा:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f path/to/silent/config
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया हैउदाहरण के लिए:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f /opt/silent.conf
- रिंग में हर कैसंड्रा नोड के लिए यह प्रक्रिया उसी क्रम में दोहराएं जिसमें नोड
CASS_HOSTS
प्रॉपर्टी में असाइन किए जाते हैं. इस मामले में, आपको Cassandra को इंस्टॉल करना होगा नीचे दिए गए क्रम में:- नोड 1 (IP1)
- नोड 2 (IP2)
- नोड 3 (IP3)
इंस्टॉलेशन के बाद, आपको Cassandra कॉन्फ़िगरेशन की जांच करनी चाहिए.
Cassandra कॉन्फ़िगरेशन की जांच करें
रैक-अवेयर कैसंड्रा कॉन्फ़िगरेशन इंस्टॉल करने के बाद, यह जांच की जा सकती है कि नोड
अलग-अलग रैक को असाइन किया जाता है. ऐसा करने के लिए nodetool status
निर्देश का इस्तेमाल किया जाता है,
नीचे दिए गए उदाहरण में बताया गया है:
/opt/apigee/apigee-cassandra/bin/nodetool status
(आप इस आदेश को किसी एक कैसेंड्रा नोड पर निष्पादित करते हैं.)
नतीजे यहां दिए गए नतीजों से मिलते-जुलते दिखने चाहिए. इनमें Rack कॉलम शामिल है हर नोड के लिए अलग-अलग रैक आईडी दिखाता है:
Datacenter: dc-1 ======================== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns Host ID Rack UN IP1 737 MB 256 ? 554d4498-e683-4a53-b0a5-e37a9731bc5c ra-1 UN IP2 744 MB 256 ? cf8b7abf-5c5c-4361-9c2f-59e988d52da3 ra-2 UN IP3 723 MB 256 ? 48e0384d-738f-4589-aa3a-08dc5bd5a736 ra-3
अगर आपने कैसंड्रा के लिए JMX प्रमाणीकरण सक्षम किया है, तो आपको अपना उपयोगकर्ता नाम और
nodetool
का पासवर्ड. ज़्यादा जानकारी के लिए, यह देखें
क्लस्टर नोड को मैनेज करने के लिए nodetool इस्तेमाल करें.
छह नोड वाला रिंग इंस्टॉल करें
अतिरिक्त रिडंडंसी के लिए, कैसंड्रा रिंग को छह नोड तक बड़ा किया जा सकता है. इस मामले में, आपको तीनों रैक में से हर एक को दो नोड असाइन करें. इस कॉन्फ़िगरेशन के लिए तीन अतिरिक्त नोड की ज़रूरत है: नोड 4 (IP4), Node 5 (IP5), और Node 6 (IP6).
नीचे दी गई इमेज में वह क्रम दिखाया गया है जिसमें रिंग पर कार्रवाइयां दोहराई जाती हैं (घड़ी की सुई की दिशा में) और इस तथ्य को हाइलाइट करता है कि प्रतिकृति के दौरान, कोई भी पास-पास मौजूद नोड एक ही नहीं है रैक:
इस कॉन्फ़िगरेशन में, हर नोड में दो और रेक बने होते हैं: बाकी दो रैक में से हर एक में एक. इसके लिए उदाहरण के लिए, रैक 1 के नोड 1 का रेक 2 और रैक 3 में रेप्लिकेशन है. नोड 1 पर भेजी गई कार्रवाइयां भी को घड़ी की दिशा में अन्य रैक में प्रतिरूपों में भेजा जाता है.
तीन-नोड कैसंड्रा रिंग को छह-नोड कैसंड्रा रिंग में विस्तृत करने के लिए, ये काम किए जा सकते हैं:
CASS_HOSTS="IP1:1,1 IP4:1,3 IP2:1,2 IP5:1,1 IP3:1,3 IP6:1,2"
तीन नोड वाले रिंग की तरह ही, आपको Cassandra को उसी क्रम में इंस्टॉल करना होगा जिसमें नोड
CASS_HOSTS
प्रॉपर्टी में दिखाए जाते हैं:
- नोड 1 (IP1)
- नोड 4 (IP4)*
- नोड 2 (IP2)
- नोड 5 (IP5)
- नोड 3 (IP3)
- नोड 6 (IP6)
* सेटअप यूटिलिटी चलाने से पहले साइलेंट कॉन्फ़िगरेशन फ़ाइल में अपने बदलाव करें चौथे नोड पर (कैसंड्रा इंस्टॉलेशन ऑर्डर में दूसरी मशीन).
12 नोड तक बड़ा करें
गड़बड़ी के असर को सहने की क्षमता और उपलब्धता को बढ़ाने के लिए, आपके पास कैसंड्रा की संख्या बढ़ाने का विकल्प है रिंग में 6 से 12 नोड तक. इस कॉन्फ़िगरेशन के लिए अतिरिक्त छह नोड की ज़रूरत होती है (IP7 से IP12).
नीचे दी गई इमेज में वह क्रम दिखाया गया है जिसमें रिंग पर कार्रवाइयां दोहराई जाती हैं (घड़ी की सुई की दिशा में) और इस तथ्य को हाइलाइट करता है कि प्रतिकृति के दौरान, कोई भी पास-पास मौजूद नोड एक ही नहीं है रैक:
12-नोड रिंग को इंस्टॉल करने की प्रक्रिया, तीन या छह नोड रिंग को इंस्टॉल करने के समान है:
CASS_HOSTS
को दी गई वैल्यू पर सेट करें और इंस्टॉलर को बताए गए क्रम में चलाएं.
12-नोड कैसंड्रा रिंग में विस्तार करने के लिए, अपने साइलेंट मोड में नोड को नीचे दिए गए तरीके से कॉन्फ़िगर करें कॉन्फ़िगरेशन फ़ाइल:
CASS_HOSTS="IP1:1,1 IP7:1,2 IP4:1,3 IP8:1,1 IP2:1,2 IP9:1,3 IP5:1,1 IP10:1,2 IP3:1,3 IP11:1,1 IP6:1,2 IP12:1,3"
तीन और छह नोड वाले रिंग की तरह ही, आपको नोड पर इंस्टॉलर को उसी क्रम में एक्ज़ीक्यूट करना होगा कॉन्फ़िगरेशन फ़ाइल में नोड दिखते हैं:
- नोड 1 (IP1)
- नोड 7 (IP7)*
- नोड 4 (IP4)
- नोड 8 (IP8)
- नोड 2 (IP2)
- नोड 9 (IP9)
- नोड 5 (IP5)
- Node 10 (IP10)
- नोड 3 (IP3)
- Node 11 (IP11)
- नोड 6 (IP6)
- Node 12 (IP12)
* आपको सातवें नोड पर Apigee Edge इंस्टॉल करने से पहले ये बदलाव करने होंगे (दूसरी मशीन कैसंड्रा इंस्टॉलेशन ऑर्डर).