कैसंड्रा नोड जोड़े जा रहे हैं

इस दस्तावेज़ में, निजी क्लाउड के लिए Edge के मौजूदा इंस्टॉलेशन में तीन नए Cassandra नोड जोड़ने का तरीका बताया गया है.

किसी मौजूदा Edge इंस्टॉलेशन में एक या दो Cassandra नोड जोड़े जा सकते हैं. हालांकि, Apigee का सुझाव है कि एक बार में तीन नोड जोड़ें.

Cassandra नोड के लिए सिस्टम की ज़रूरी शर्तों की सूची देखने के लिए, इंस्टॉलेशन से जुड़ी ज़रूरी शर्तें देखें.

मौजूदा एज कॉन्फ़िगरेशन

किसी प्रोडक्शन सिस्टम के लिए काम करने वाली सभी एज टॉपोलॉजी में, तीन Cassandra नोड इस्तेमाल करने की जानकारी दी गई है. कॉन्फ़िगरेशन फ़ाइल में, तीन नोड को CASS_HOSTS प्रॉपर्टी के लिए तय किया गया है, जैसा कि यहां दिखाया गया है:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
MSIP=$IP1 
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=1
APIGEE_LDAPPW=secret
MP_POD=gateway
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" 
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com
SMTPPASSWORD=smtppwd

ध्यान दें कि REGION प्रॉपर्टी में, इलाके का नाम "dc-1" है. नए Cassandra नोड जोड़ते समय, आपको उस जानकारी की ज़रूरत होगी.

तीन नए Cassandra नोड जोड़ने के लिए, कॉन्फ़िगरेशन फ़ाइल में बदलाव करना

इस उदाहरण में, तीन नए Cassandra नोड इन आईपी पतों पर हैं:

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

नए नोड जोड़ने के लिए, आपको पहले Edge की कॉन्फ़िगरेशन फ़ाइल अपडेट करनी होगी:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
# Add the new node IP addresses.
IP14=10.10.0.14
IP15=10.10.0.15
IP16=10.10.0.16
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
...
# Update CASS_HOSTS to add each new node after an existing nodes. 
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP14:1,1 $IP2:1,1 $IP15:1,1 $IP3:1,1 $IP16:1,1" 

इससे यह पक्का होता है कि मौजूदा नोड अपनी शुरुआती टोकन सेटिंग बनाए रखें और हर नए नोड का शुरुआती टोकन, मौजूदा नोड की टोकन वैल्यू के बीच हो.

Edge को कॉन्फ़िगर करना

कॉन्फ़िगरेशन फ़ाइल में बदलाव करने के बाद, आपको ये काम करने होंगे:

  • मौजूदा Cassandra नोड को फिर से कॉन्फ़िगर करना
  • नए नोड पर Cassandra इंस्टॉल करना
  • मैनेजमेंट सर्वर को फिर से कॉन्फ़िगर करना

मौजूदा Cassandra नोड को फिर से कॉन्फ़िगर करना

मौजूदा Cassandra नोड पर:

  1. "-p c" प्रोफ़ाइल और नई कॉन्फ़िगरेशन फ़ाइल के साथ setup.sh को फिर से चलाएं:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile

नए नोड पर Cassandra इंस्टॉल करना

नए नोड पर Cassandra इंस्टॉल करने के लिए, नीचे दिया गया तरीका अपनाएं.

हर नए Cassandra नोड पर:

  1. तीन नोड पर Cassandra इंस्टॉल करें:
    1. Edge apigee-setup utility को इंस्टॉल करने के बारे में बताए गए तरीके के हिसाब से, पहले नोड पर apigee-setup इंस्टॉल करें.
    2. अपडेट की गई कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करके, पहले नोड पर Cassandra इंस्टॉल करें:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
    3. बाकी बचे नए Cassandra नोड के लिए, ये दो चरण दोहराएं.
  2. तीन नए Cassandra नोड फिर से बनाएं. इसके लिए, उस डेटा सेंटर का नाम बताएं जिसमें नोड जोड़ा जा रहा है (dc-1, dc-2 वगैरह). इस उदाहरण में, यह dc-1 है:
    1. पहले नोड पर, यह चलाएं:
      /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h nodeIP rebuild dc-1

      यहां nodeIP, Cassandra नोड का आईपी पता है.

      आपको अपना उपयोगकर्ता नाम और पासवर्ड सिर्फ़ तब डालना होगा, जब आपने Cassandra के लिए JMX पुष्टि करने की सुविधा चालू की हो.

    2. बाकी बचे नए Cassandra नोड पर भी यह तरीका दोहराएं.

मैनेजमेंट सर्वर को फिर से कॉन्फ़िगर करना

मैनेजमेंट-सर्वर नोड पर

  1. नए Cassandra नोड के लिए मैनेजमेंट सर्वर को अपडेट करने के लिए, setup.sh को फिर से चलाएं:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile

सभी राऊटर और मैसेज प्रोसेसर को रीस्टार्ट करना

  1. सभी राऊटर पर:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  2. सभी मैसेज प्रोसेसर पर:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

मौजूदा Cassandra नोड पर डिस्क में जगह खाली करना

नया नोड जोड़ने के बाद, डिस्क का स्टोरेज खाली करने के लिए, पहले से मौजूद नोड पर nodetool cleanup कमांड का इस्तेमाल किया जा सकता है. यह कमांड उन कॉन्फ़िगरेशन टोकन को मिटा देता है जिनका मालिकाना हक, अब पहले से मौजूद Cassandra नोड के पास नहीं है.

नया नोड जोड़ने के बाद, पहले से मौजूद Cassandra नोड पर डिस्क का खाली जगह बनाने के लिए, यह कमांड चलाएं:

/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup

आपको अपना उपयोगकर्ता नाम और पासवर्ड सिर्फ़ तब डालना होगा, जब आपने Cassandra के लिए JMX पुष्टि करने की सुविधा चालू की हो.

फिर से बनाने की पुष्टि करना

रीबिल्ड की प्रोसेस पूरी हो गई है या नहीं, इसकी पुष्टि करने के लिए इन निर्देशों का पालन करें:

nodetool [-u username -pw password] -h nodeIP netstats

इस कमांड से पता चलता है कि MODE: Normal जब नोड चालू हो और इंडेक्स बन चुके हों.

nodetool [-u username -pw password] -h nodeIP statusthrift

इस कमांड से पता चलता है कि थ्रिफ़ सर्वर चल रहा है. इससे Cassandra, नए क्लाइंट के अनुरोध स्वीकार कर सकता है.

nodetool [-u username -pw password] -h nodeIP statusbinary

इस कमांड से पता चलता है कि नेटिव ट्रांसपोर्ट (या बाइनरी प्रोटोकॉल) चल रहा है या नहीं.

nodetool [-u username -pw password] -h nodeIP describecluster

यह कमांड दिखाता है कि नए नोड, पुराने नोड के स्कीमा वर्शन का इस्तेमाल कर रहे हैं या नहीं.

nodetool का इस्तेमाल करने के बारे में ज़्यादा जानकारी के लिए, nodetool के इस्तेमाल से जुड़ा दस्तावेज़ देखें.