महा उपयोगकर्ता की निगरानी के बारे में जानकारी

Edge for Private Cloud v4.19.01

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

ZooKeeper और Edge के बारे में जानकारी

Edge में, ZoomKeeper नोड में अलग-अलग Edge कॉम्पोनेंट की जगह और कॉन्फ़िगरेशन के बारे में कॉन्फ़िगरेशन डेटा होता है और कॉन्फ़िगरेशन में बदलाव के अलग-अलग कॉम्पोनेंट की सूचना देता है. किसी प्रोडक्शन सिस्टम के लिए काम करने वाले सभी Edge टोपोलॉजी में कम से कम तीन DueKeeper नोड का इस्तेमाल किया जाता है.

Waze कीपर नोड को तय करने के लिए, Edge की कॉन्फ़िगरेशन फ़ाइल में ZK_HOSTS और ZK_CLIENT_HOSTS प्रॉपर्टी का इस्तेमाल करें. उदाहरण के लिए:

ZK_HOSTS="$IP1 $IP2 $IP3"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"

जगह:

  • ZK_HOSTS, ZoomKeeper नोड के आईपी पते के बारे में बताता है. सभी ZooKeeper नोड पर आईपी पते एक ही क्रम में सूची में शामिल होने चाहिए.

    कई डेटा सेंटर वाले एनवायरमेंट में, सभी डेटा सेंटर के सभी ज़ूकीपर नोड की सूची बनाएं.

  • ZK_CLIENT_HOSTS सिर्फ़ इस डेटा सेंटर में इस्तेमाल किए जाने वाले चिड़ियाघर के आईपी पते के बारे में बताता है. डेटा सेंटर के सभी ZooKeeper नोड पर आईपी पते एक ही क्रम में सूची में शामिल होने चाहिए.

    किसी एक डेटा सेंटर इंस्टॉलेशन में, ये वही नोड होते हैं जिन्हें ZK_HostS ने तय किया है. कई डेटा सेंटर वाले एनवायरमेंट में, हर डेटा सेंटर के लिए Edge कॉन्फ़िगरेशन फ़ाइल में उस डेटा सेंटर के सिर्फ़

डिफ़ॉल्ट रूप से, सभी ZoomKeeper नोड वोटर नोड के तौर पर तय होते हैं. इसका मतलब है कि ज़ूकीपर नेता को चुनने में सभी नोड शामिल होते हैं. आप यह बताने के लिए ZK_HOSTS के साथ :observer मॉडिफ़ायर शामिल कर सकते हैं कि नोड एक ऑब्ज़र्वर नोड है, न कि वोटर. ऑब्ज़र्वर नोड, लीडर के चुनाव में शामिल नहीं होता.

आम तौर पर, जब एक से ज़्यादा Edge डेटा सेंटर बनाते समय या किसी एक डेटा सेंटर में बहुत ज़्यादा ज़ूकीपर नोड होते हैं, तब :observer मॉडिफ़ायर तय किया जाता है. उदाहरण के लिए, दो डेटा सेंटर के साथ 12-होस्ट वाले Edge के साथ इंस्टॉल किए गए डेटा सेंटर 2 में, नोड 9 पर चिड़ियाघर का ऑब्ज़र्वर है:

इसके बाद, डेटा सेंटर 1 के लिए अपनी कॉन्फ़िगरेशन फ़ाइल में इन सेटिंग का इस्तेमाल करें:

ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"

साथ ही, Data Center 2 के लिए:

ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9"

नीचे दिए गए सेक्शन में लीडर, वोटर, और ऑब्ज़र्वर नोड के बारे में ज़्यादा जानकारी दी गई है. साथ ही, वोटर और ऑब्ज़र्वर नोड को जोड़ने के बारे में जानकारी दी गई है.

नेताओं, फ़ॉलोअर, मतदाताओं, और निगरानी करने वाले लोगों के बारे में जानकारी

मल्टी-नोड चिड़ियाघर को इंस्टॉल करने में, किसी एक नोड को लीडर के तौर पर दिखाया गया है. चिड़ियाघर के अन्य सभी नोड फ़ॉलोअर के तौर पर पहचाने जाते हैं. कॉन्टेंट को किसी भी चिड़ियाघर में पढ़ा जा सकता है. हालांकि, कॉन्टेंट में बदलाव करने के सभी अनुरोध लीडर को भेजे जाते हैं. उदाहरण के लिए, Edge में एक नया मैसेज प्रोसेसर जोड़ा गया है. यह जानकारी चिड़ियाघर के लीडर को दी जाती है. इसके बाद, सभी फ़ॉलोअर उस डेटा को कॉपी कर सकते हैं.

Edge इंस्टॉल करते समय, आपको हर चिड़ियाघर को वोटर या ऑब्ज़र्वर के तौर पर चुनना होता है. इसके बाद, वोटर ज़ूकीपर नोड के सभी सदस्यों ने नेता चुना. किसी नेता के चुनाव के लिए एक ज़रूरी शर्त यह है कि ज़ूकीपर वोटर नोड के लिए तय की गई quorum उपलब्ध होनी चाहिए. कोरम का मतलब है कि सभी डेटा सेंटर में, वोटर ज़ूकीपर नोड के आधे से ज़्यादा काम कर रहे हैं.

अगर वोटर नोड की संख्या उपलब्ध नहीं है, तो कोई भी नेता नहीं चुना जा सकता. इस स्थिति में, ज़ूकीपर अनुरोध को पूरा नहीं कर सकता. इसका मतलब है कि आप Edge मैनेजमेंट सर्वर के लिए अनुरोध नहीं कर सकते, मैनेजमेंट एपीआई के अनुरोधों को प्रोसेस नहीं कर सकते या Edge यूज़र इंटरफ़ेस (यूआई) में लॉग इन नहीं कर सकते, जब तक कि कोम सही तरीके से लागू नहीं हो जाता.

उदाहरण के लिए, किसी एक डेटा सेंटर के इंस्टॉलेशन में:

  • आपने चिड़ियाघर में तीन नोड इंस्टॉल किए हैं
  • चिड़ियाघर के सभी नोड मतदाता हैं
  • लोगों की संख्या के लिए, दो वोटर नोड तय किए गए हैं
  • अगर सिर्फ़ एक वोटर नोड उपलब्ध होता है, तो ZoomKeeper ग्रुप काम नहीं करेगा

दो डेटा सेंटर वाले किसी इंस्टॉलेशन में:

  • आपने हर 'डेटा सेंटर' में तीन ज़ूकीपर नोड इंस्टॉल किए हैं. ये कुल छह नोड हैं
  • डेटा केंद्र 1 में तीन वोटर नोड हैं
  • डेटा सेंटर 2 में दो वोटर नोड और एक ऑब्ज़र्वर नोड है
  • लोगों की संख्या, दोनों डेटा सेंटर पर मौजूद पांच वोटर के हिसाब से तय होती है. इसलिए, यह वोटर के तीन काम कर रहे नोड पर निर्भर करता है
  • अगर सिर्फ़ दो या उससे कम वोटर नोड उपलब्ध हैं, तो ज़ूकीपर ग्रुप काम नहीं करेगा

वोटर या ऑब्ज़र्वर के तौर पर नोड जोड़ने से जुड़ी खास बातें

आपके सिस्टम की ज़रूरी शर्तों के लिए, आपको अपने Edge इंस्टॉलेशन में और भी ZoomKeeper नोड जोड़ने पड़ सकते हैं. ज़ूकीपर नोड जोड़ना दस्तावेज़ में बताया गया है कि Edge में और भी ZoomKeeper नोड जोड़ने का तरीका क्या है. चिड़ियाघर में नोड जोड़ने के लिए, आपको इस बात का ध्यान रखना होगा कि नोड किस तरह के हैं: वोटर या ऑब्ज़र्वर.

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

हालांकि, वोटर नोड में ज़्यादा नोड जोड़ने से, लिखने की परफ़ॉर्मेंस पर बुरा असर पड़ सकता है, क्योंकि लिखने की प्रक्रिया में लीडर के नाम की सहमति लेने के लिए संख्या की ज़रूरत होती है. नेता का पता लगाने में जो समय लगता है वह वोटर नोड की संख्या के हिसाब से तय होता है. जैसे-जैसे आप ज़्यादा वोटर नोड जोड़ते हैं, वैसे-वैसे वोटर में भी बदलाव होता है. इसलिए, आपको सभी नोड को वोटर नहीं देना है.

वोटर नोड जोड़ने के बजाय, आप ऑब्ज़र्वर नोड जोड़ सकते हैं. ऑब्ज़र्वर नोड जोड़ने से, लीडर को चुने जाने के ऊपर जोड़े बिना सिस्टम रीड की पूरी परफ़ॉर्मेंस बढ़ जाती है. ऐसा इसलिए होता है, क्योंकि ऑब्ज़र्वर नोड वोट नहीं देते और संख्या के साइज़ पर भी कोई असर नहीं डालते. इसलिए, अगर किसी ऑब्ज़र्वर नोड की भूमिका कम हो जाती है, तो इससे ग्रुप के लीडर चुनने की क्षमता पर कोई असर नहीं पड़ता. हालांकि, ऑब्ज़र्वर नोड खोने से, ज़ूकीपर ग्रुप के रीड परफ़ॉर्मेंस में गिरावट आ सकती है. ऐसा इसलिए होता है, क्योंकि सेवा से जुड़े डेटा के अनुरोधों के लिए कम नोड उपलब्ध होते हैं.

Apigee का सुझाव है कि किसी एक डेटा सेंटर में, ऑब्ज़र्वर नोड की संख्या पर ध्यान दिए बिना, आपके पांच से ज़्यादा वोटर नहीं होने चाहिए. दो डेटा सेंटर में, Apigee सुझाव देता है कि आपके पास नौ से ज़्यादा वोटर नहीं हैं. एक डेटा सेंटर में पांच और दूसरे में चार वोटर हैं. इसके बाद, सिस्टम की ज़रूरतों के हिसाब से, जितने चाहें उतने ऑब्ज़र्वर नोड जोड़े जा सकते हैं.

ज़ूकीपर नोड हटाएं

आपको ज़ूकीपर नोड हटाने की कई वजहें हो सकती हैं. जैसे, कोई नोड खराब हो गया हो या उसे गलत एनवायरमेंट में जोड़ दिया गया हो.

इस सेक्शन में बताया गया है कि नोड के डाउन होने और ऐक्सेस न हो पाने पर, ज़ूकीपर नोड को कैसे हटाया जाता है.

ज़ूकीपर नोड को हटाने के लिए:

  1. अपनी साइलेंट कॉन्फ़िगरेशन फ़ाइल में बदलाव करें और ज़ूकीपर नोड के उस आईपी पते को हटाएं जिसे हटाना है.
  2. चिड़ियाघर के बचे हुए नोड को फिर से कॉन्फ़िगर करने के लिए, setup कमांड को ज़ूकीपर के लिए फिर से चलाएं:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updated_config_file
  3. सभी ज़ूकीपर नोड रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  4. मैनेजमेंट सर्वर नोड को फिर से कॉन्फ़िगर करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server setup -f updated_config_file
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  5. सभी राऊटर को फिर से कॉन्फ़िगर करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-router setup -f updated_config_file
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  6. सभी मैसेज प्रोसेसर को फिर से कॉन्फ़िगर करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor setup -f updated_config_file
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  7. सभी Qpid नोड को फिर से कॉन्फ़िगर करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server setup -f updated_config_file
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  8. सभी Postgres नोड को फिर से कॉन्फ़िगर करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server setup -f updated_config_file
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

रखरखाव से जुड़ी ज़रूरी बातें

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

कई डेटा सेंटर का रखरखाव

एक से ज़्यादा डेटा सेंटर पर काम करते समय, याद रखें कि ZoomKeeper ग्रुप में, डेटा सेंटर के बीच कोई फ़र्क़ नहीं होता. ज़ूकेपर असेंबली, सभी डेटा सेंटर के सभी ज़ूकीपर नोड को एक ग्रुप के तौर पर देखते हैं.

चिड़ियाघर में कोरम की गिनती करते समय, दिए गए डेटा सेंटर में वोटर नोड की जगह की जानकारी का कोई असर नहीं पड़ता है. डेटा सेंटर में अलग-अलग नोड नीचे जा सकते हैं. हालांकि, जब तक कोरुम पूरे एन्सेंबल पर बरकरार रहता है, तब तक ज़ूकीपर काम करता रहता है.

रखरखाव से जुड़ी बातें

कई समय पर, आपको रखरखाव के लिए ज़ूकीपर नोड को हटाना होगा. फिर चाहे, वह वोटर नोड हो या ऑब्ज़र्वर नोड. उदाहरण के लिए, आपको नोड पर मौजूद EDGE के वर्शन को अपग्रेड करना पड़ सकता है. ऐसा हो सकता है कि ZoomKeeper को होस्ट करने वाली मशीन काम न करे या नेटवर्क की गड़बड़ी जैसी किसी दूसरी वजह से नोड उपलब्ध न हो.

अगर डाउन होने वाला नोड ऑब्ज़र्वर नोड है, तो छोटा करके ज़ूकेपर ग्रुप की परफ़ॉर्मेंस में तब तक गिरावट आ सकती है, जब तक कि नोड वापस नहीं आ जाता. अगर यह नोड वोटर नोड है, तो यह चिड़ियाघर के नेता चुनने की प्रक्रिया में हिस्सा लेने वाले नोड के खोने की वजह से, ज़ूकीपर ग्रुप के व्यवहार पर असर डाल सकता है. वोटर नोड के कम होने की वजह चाहे जो हो, लेकिन उपलब्ध मतदाता नोड की संख्या को बनाए रखना ज़रूरी है.

मेंटेनेंस प्रोसेस

रखरखाव की प्रोसेस सिर्फ़ यह पक्का करने के बाद करें कि छोटा-सा रखने वाला चिड़ियाघर ठीक से काम कर रहा है या नहीं. इसमें यह माना जाता है कि ऑब्ज़र्वर नोड काम कर रहे हैं और रखरखाव के दौरान की संख्या को बनाए रखने के लिए काफ़ी वोटर नोड उपलब्ध हैं.

इन शर्तों को पूरा करने पर, जब चाहे किसी एक नोड के साइज़ की जांच कर सकता है, जो किसी भी समय किसी एक नोड के नुकसान को भी सहन कर सकता है. इसमें, डेटा को कोई नुकसान नहीं होता या परफ़ॉर्मेंस पर कोई असर नहीं पड़ता. इसका मतलब है कि आपके पास ग्रुप में किसी भी नोड के रखरखाव का अधिकार है, बशर्ते वह एक समय पर एक ही नोड पर हो.

रखरखाव के तहत, ज़ूकीपर नोड (नेता, मतदाता या ऑब्ज़र्वर) का टाइप तय करने के लिए, नीचे दी गई प्रक्रिया का इस्तेमाल करें:

  1. अगर इसे ZKeeper नोड पर इंस्टॉल नहीं किया गया है, तो nc को इंस्टॉल करें:
    sudo yum install nc
  2. नोड पर, नीचे दिए गए nc निर्देश को चलाएं. इसमें, ज़ूकीपर पोर्ट 2181 है:
    echo stat | nc localhost 2181

    आपको फ़ॉर्म में आउटपुट दिखेगा:

    Zookeeper version: 3.4.5-1392090,
    built on 09/30/2012 17:52 GMT
    Clients: /a.b.c.d:xxxx[0](queued=0,recved=1,sent=0)
    Latency min/avg/max: 0/0/0
    Received: 1
    Sent: 0
    Connections: 1
    Outstanding: 0
    Zxid: 0xc00000044
    Mode: follower
    Node count: 653

    नोड के आउटपुट की Mode लाइन में, आपको नोड के कॉन्फ़िगरेशन के आधार पर observer, leader या follower (यानी कि वह वोटर जो लीडर नहीं है) दिखेगा.

  3. हर ZKeeper नोड पर चरण 1 और 2 दोहराएं.

खास जानकारी

चिड़ियाघर के रखरखाव का सबसे अच्छा तरीका यह है कि उसे एक बार में एक ही नोड रखा जाए. ध्यान दें:

  • रखरखाव के दौरान, आपको वोटर नोड की संख्या बनाए रखनी होगी, ताकि यह पक्का किया जा सके कि छोटा-सा रखने वाला चिड़ियाघर चालू रहे.
  • ऑब्ज़र्वर नोड को हटाने से, ग्रुप के सदस्यों की संख्या या लीडर चुनने की क्षमता पर कोई असर नहीं पड़ता.
  • सभी डेटा सेंटर के सभी ज़ूकेपर नोड के लिए, कोरम की गिनती की जाती है.
  • पिछले सर्वर के चालू होने के बाद, अगले सर्वर का रखरखाव करने के लिए आगे बढ़ें.
  • ZooKeeper नोड की जांच करने के लिए, nc कमांड का इस्तेमाल करें.