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

Edge for Private Cloud v4.18.05

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

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

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

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"

डेटा सेंटर के लिए

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 सुझाव देता है कि आपके पास नौ से ज़्यादा वोटर नहीं हैं. एक डेटा सेंटर में पांच और दूसरे में चार वोटर हैं. इसके बाद, सिस्टम की ज़रूरतों के हिसाब से, जितने चाहें उतने ऑब्ज़र्वर नोड जोड़े जा सकते हैं.

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

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

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

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

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

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

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

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

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

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

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

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

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

    जहां 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 कमांड का इस्तेमाल करें