यह सुनिश्चित करने के लिए कि एक ZooKeeper सर्वर एक लीडर या एक अनुयायी है, क्या कमांड जारी करने की आवश्यकता है?


23

एक चिड़ियाघरकीपर कोरम जिसमें तीन चिड़ियाघरकीपर सर्वर शामिल हैं, बनाया गया है।

zoo.cfgसभी तीन चिड़ियाघर संचालक सर्वर दिखता है पर स्थित इस प्रकार है:

maxClientCnxns=50
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/var/lib/zookeeper
# the port at which the clients will connect
clientPort=2181

server.1=<ip-address-1>:2888:3888
server.2=<ip-address-2>:2888:3888
server.3=<ip-address-3>:2888:3888

विश्लेषण

यह स्पष्ट है कि तीन चिड़ियाघरकीपर सर्वरों में से एक Leaderऔर अन्य बन जाएंगे Followers। यदि Leaderचिड़ियाघरकीपर सर्वर बंद कर दिया गया है तो Leaderचुनाव फिर से शुरू होगा। उद्देश्य यह जांचना है कि क्या एक और ज़ूकेपर सर्वर बन जाएगा Leaderयदि Leaderसर्वर बंद हो गया है।


सवाल

यह सुनिश्चित करने के लिए कि एक ZooKeeper सर्वर एक लीडर या एक अनुयायी है, क्या कमांड जारी करने की आवश्यकता है?

जवाबों:


50

यह जांचना संभव है कि क्या एक ZooKeeper सर्वर एक नेता या अनुयायी ncहै जो netcatपैकेज में शामिल कमांड का उपयोग कर रहा है :

echo stat | nc localhost 2181 | grep Mode
echo srvr | nc localhost 2181 | grep Mode #(From 3.3.0 onwards)

यदि ZooKeeper सर्वर एक नेता है तो कमांड वापस आ जाएगी: Mode: leaderऔर अन्यथा:Mode: follower


2
औरstandalone
झिंग

@ एलएसडी, क्या ज़ुकीपर क्लस्टर में नोड्स खोजने का कोई तरीका है ??
मुरारीसुमित

2
@sumit को शायद अपने स्वयं के SO प्रश्न की आवश्यकता है, लेकिन एक तरीका केवल zoo.cfg फ़ाइल को पढ़ना है।
जोस लियोन

3

वैकल्पिक रूप से निम्नलिखित का उपयोग किया जा सकता है:

bin/zkServer.sh status

यह आउटपुट में मोड प्रिंट करेगा:

ZooKeeper JMX enabled by default
Using config: /home/kafka/zookeeper/bin/../conf/zoo.cfg
Mode: follower
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.