2012-10-23 23 views
21

ZooKeeper FAQ से:चिड़ियाघर संचालक विश्वसनीयता - तीन से पांच बनाम नोड्स

Reliability: 

A single ZooKeeper server (standalone) is essentially a coordinator with 
no reliability (a single serving node failure brings down the ZK service). 

A 3 server ensemble (you need to jump to 3 and not 2 because ZK works 
based on simple majority voting) allows for a single server to fail and 
the service will still be available. 

So if you want reliability go with at least 3. We typically recommend 
having 5 servers in "online" production serving environments. This allows 
you to take 1 server out of service (say planned maintenance) and still 
be able to sustain an unexpected outage of one of the remaining servers 
w/o interruption of the service. 
एक 3 सर्वर कलाकारों की टुकड़ी के साथ

, अगर एक सर्वर रोटेशन से बाहर ले जाया जाता है और एक सर्वर ने एक अनपेक्षित आउटेज है, तो वहाँ अभी भी एक शेष है सर्वर जो सेवा में कोई बाधा सुनिश्चित नहीं करना चाहिए। फिर 5 सर्वरों की आवश्यकता क्यों है? या यह सेवा की केवल बाधा से ज्यादा है जिसे माना जा रहा है?

अद्यतन: उनका कहना है कि यह एक कोरम को बनाए रखने के साथ क्या करना है के लिए @sbridges को

धन्यवाद। और जिस तरह से जेडके एक कोरम परिभाषित करता है वह ceil(N/2) है जहां Nमूल संख्या में मौजूद है (और वर्तमान में उपलब्ध सेट नहीं)।

अब, ZK कोरम के लिए एक Google खोज HBase पुस्तक chapter on ZK में यह पाता है:

चिड़ियाघर संचालक में, साथियों के सम संख्या समर्थित है, लेकिन यह आम तौर पर है इस्तेमाल नहीं किया है क्योंकि एक और भी आकार कलाकारों की टुकड़ी की आवश्यकता है , आनुपातिक रूप से, एक विषम आकार के पहने हुए की तुलना में कोरम बनाने के लिए सहकर्मियों की आवश्यकता होती है। उदाहरण के लिए, 4 सहकर्मियों के साथ एक समूह को कोरम बनाने के लिए 3 की आवश्यकता होती है, जबकि 5 के साथ एक पहनावा को भी कोरम बनाने के लिए 3 की आवश्यकता होती है। इस प्रकार,में से 5 सदस्य 2 सहकर्मियों को असफल होने और अभी भी कोरम को बनाए रखने की अनुमति देता है, और इस प्रकार4 की उपस्थिति की तुलना में गलती सहनशील है, जो केवल 1 डाउन पीयर की अनुमति देता है।

और एडवर्ड जे यून के blog में विकिपीडिया के इस टीका:

आमतौर पर, यह लोगों को, वहाँ हो हालांकि कई निकायों एक कम या अधिक हो सकता है कोरम की उम्मीद के बहुमत है।

+0

"नियोजित रखरखाव" का एक उदाहरण क्या होगा? – user1870400

उत्तर

20

जुकीपर के लिए आवश्यक है कि आपके पास सर्वर का कोरम है, जहां कोरम ceil(N/2) है। एक 3 सर्वर ensemble के लिए, इसका मतलब है कि किसी भी समय 2 सर्वर एक सर्वर सर्वर के लिए होना चाहिए, 3 सर्वर किसी भी समय उठने की जरूरत है।

+1

क्यों 4 नोड क्लस्टर की सिफारिश नहीं की जाती है? –

+0

मैं यहां @ पेंजे से सहमत हूं। इसका मतलब यह होगा कि एक 5 नोड क्लस्टर केवल 2 असफलताओं का समर्थन कर सकता है (3 की विफलता 3 के कोरम से नीचे गिर जाएगी) और एक 4 नोड क्लस्टर भी 2 असफलताओं का समर्थन कर सकता है (3 विफलता 2 के कोरम से नीचे गिर जाएगी)। – Luke

+2

@Pangea, http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html देखें ... जब तक कि अधिकांश कलाकारों के ऊपर हैं, सेवा उपलब्ध होगी। चूंकि जुकीपर को बहुमत की आवश्यकता होती है, इसलिए मशीनों की एक विषम संख्या का उपयोग करना सबसे अच्छा है। .... इसके अलावा नोड्स की एक संख्या के साथ भी आप एक विभाजित मस्तिष्क का जोखिम चलाते हैं, कहते हैं कि आपके पास 8 नोड्स थे, और नेटवर्क प्रत्येक पक्ष पर 4 नोड्स के साथ 2 भागों में विभाजित था ... प्रत्येक (4) नोड पक्ष जारी रखने में सक्षम नहीं होगा क्योंकि उनके पास कोरम नहीं है। – scaph01