आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
इस पेज पर जाएं
Apigee X दस्तावेज़. जानकारी
समस्या का ब्यौरा
ZooKeeper प्रोसेस शुरू नहीं की जा सकी.
गड़बड़ी के मैसेज
जब आप ZooKeeper प्रोसेस शुरू करने की कोशिश करते हैं, तब गड़बड़ी का यह मैसेज दिखता है यह बताता है कि ZooKeeper चालू नहीं किया जा सकता:
+ apigee-service apigee-zookeeper status apigee-service: apigee-zookeeper: Not running (DEAD) apigee-all: Error: status failed on [apigee-zookeeper]
संभावित कारण
नीचे दी गई टेबल में, इस समस्या की संभावित वजहों की सूची दी गई है:
वजह | इसके लिए: |
---|---|
गलत तरीके से कॉन्फ़िगर किया गया ZooKeeper मायआईडी | Edge के प्राइवेट क्लाउड के उपयोगकर्ता |
ZooKeeper पोर्ट का इस्तेमाल किया जा रहा है | Edge के प्राइवेट क्लाउड के उपयोगकर्ता |
apigee-zookeeper.pid फ़ाइल में गलत प्रोसेस आईडी | Edge के प्राइवेट क्लाउड के उपयोगकर्ता |
ZooKeeper लीडर के चुनाव में हिस्सा नहीं ले सका | Edge के प्राइवेट क्लाउड के उपयोगकर्ता |
उस समस्या के संभावित समाधान देखने के लिए, टेबल में दिए गए किसी लिंक पर क्लिक करें.
गलत कॉन्फ़िगर किया गया ZooKeeper मायआईडी
इन सेक्शन में myid फ़ाइल के बारे में खास जानकारी दी गई है. इसमें यह भी बताया गया है कि गड़बड़ी का पता कैसे लगाना है और गलत कॉन्फ़िगरेशन से जुड़ी समस्याओं को हल करें.
myid फ़ाइल की खास जानकारी
हर ZooKeeper नोड में, दो फ़ाइलें होती हैं:
/opt/apigee/apigee-zookeeper/conf/zoo.cfg
फ़ाइल जिसमें क्लस्टर में सभी ZooKeeper नोड के आईपी.उदाहरण के लिए, अगर
/opt/apigee/apigee-zookeeper/conf/zoo.cfg
में तीन ZooKeeper नोड के आईपी इस तरह से क्लस्टर का हिस्सा होते हैं:server.1=11.11.11.11:2888:3888 server.2=22.22.22.22:2888:3888 server.3=33.33.33.33:2888:3888
/opt/apigee/data/apigee-zookeeper/data/myid
फ़ाइल में वह टेक्स्ट जो उस खास ZooKeeper नोड के सर्वर नंबर के बारे में बताता है. इसका मायआईडी सर्वर 1 में "1" टेक्स्ट होगा और कुछ नहीं. एन्सेम्बल में आईडी यूनीक होना चाहिए और इसकी वैल्यू 1 से 255 के बीच होनी चाहिए.उदाहरण के लिए, ZooKeeper Server.1 पर,
/opt/apigee/data/apigee-zookeeper/data/myid
फ़ाइल में सिर्फ़ टेक्स्ट 1 होना चाहिए जैसा कि नीचे दिखाया गया है:$ cat myid 1
संक्रमण की जांच
- इसके लिए ZooKeeper लॉग
/opt/apigee/var/log/apigee-zookeeper/zookeeper.log
देखें गड़बड़ियां हैं. - अगर आपको “आईडी # के लिए कनेक्शन टूट गया है, मेरा आईडी = #” से मिलता-जुलता WARN मैसेज दिखता है,
जैसा कि नीचे दिए गए चित्र में दिखाया गया है, तो इस समस्या की संभावित वजह यह हो सकती है कि सर्वर #
मेरी आईडी फ़ाइल गलत तरीके से कॉन्फ़िगर की गई है या उसमें कोई गड़बड़ी है.
[myid:2] - WARN [RecvWorker:2:QuorumCnxManager$RecvWorker@762] - Connection broken for id 2, my id = 2, error = java.io.EOFException at java.io.DataInputStream.readInt(DataInputStream.java:375) at org.apache.zookeeper.server.quorum.QuorumCnxManager$RecvWorker. run(QuorumCnxManager.java:747)
/opt/apigee/apigee-zookeeper/conf/zoo.cfg
फ़ाइल देखें और मौजूदा ZooKeeper नोड के लिए Server.#./opt/apigee/data/apigee-zookeeper/data/myid
फ़ाइल की जांच करके देखें कि टेक्स्ट इस फ़ाइल में उस सर्वर.# से मेल खाता है, जो चरण #2 में बताया गया है.- अगर यह जानकारी मेल नहीं खाती है, तो आपने ZooKeeper के न मिलने की वजह का पता लगा लिया है शुरू करें.
रिज़ॉल्यूशन
अगर myid फ़ाइल गलत तरीके से कॉन्फ़िगर की गई है, तो myid फ़ाइल में बदलाव करें और वैल्यू को Zoo.cfg में सर्वर.# पैरामीटर को दर्शाने वाला सही टेक्स्ट.
ZooKeeper पोर्ट का इस्तेमाल किया जा रहा है
संक्रमण की जांच
- इसके लिए ZooKeeper लॉग
/opt/apigee/var/log/apigee-zookeeper/zookeeper.log
देखें गड़बड़ियां हैं. - अगर आपको
java.net.BindException: Address already in use
अपवाद दिखे पोर्ट #2181 से जुड़े होने पर, जैसा कि नीचे दिए गए चित्र में दिखाया गया है, यह दिखाता है कि ZooKeeper पोर्ट 2181 का इस्तेमाल किसी दूसरे प्रोसेस में किया जा रहा है. इसलिए, ZooKeeper शुरू नहीं किया जा सका.2017-04-26 07:00:10,420 [myid:3] - INFO [main:NIOServerCnxnFactory@94] - binding to port 0.0.0.0/0.0.0.0:2181 2017-04-26 07:00:10,421 [myid:3] - ERROR [main:QuorumPeerMain@89] - Unexpected exception, exiting abnormally java.net.BindException: Address already in use at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:433) at sun.nio.ch.Net.bind(Net.java:425) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:67) at org.apache.zookeeper.server.NIOServerCnxnFactory.configure(NIOServerCnxnFactory.java:95) at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:130) at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:111) at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)
- नीचे दिए गए netstat निर्देश का इस्तेमाल करके, यह पुष्टि करें कि ZooKeeper पोर्ट 2181 का इस्तेमाल वाकई में किया जा रहा है
किसी अन्य प्रोसेस से:
netstat -an | grep 2181
रिज़ॉल्यूशन
अगर ZooKeeper पोर्ट 2181 का इस्तेमाल अब भी किया जा रहा है, तो इस समस्या को हल करने के लिए नीचे दिया गया तरीका अपनाएं समस्या:
- पोर्ट 2181 पर होल्ड की गई प्रोसेस को ढूंढने के लिए,
netstat
कमांड का इस्तेमाल करें. ZooKeeper पोर्ट 2181 का इस्तेमाल करने वाली प्रोसेस को खत्म करें:$ netstat -antp | grep 2181 tcp 0 0 0.0.0.0:2181 0.0.0.0:* LISTEN 28016/java <defunct> $ kill -9 28016
- अगर पीआईडी फ़ाइलें मौजूद हैं, तो उन्हें मिटाएं और उन्हें लॉक करें:
/opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.pid /opt/apigee/var/run/apigee-zookeeper/apigee-zookeeper.lock
- ZooKeeper को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
apigee-zookeper.pid फ़ाइल में गलत प्रोसेस आईडी
जब आप ZooKeeper को रोकें/फिर से चालू करने की कोशिश करते/करती हैं, तो यह काम नहीं कर सकता. ऐसा इसलिए, क्योंकि
apigee-zookeeper.pid
फ़ाइल में पुराना/गलत पीआईडी है और मौजूदा पीआईडी नहीं है
ZooKeeper प्रोसेस चला रही हूँ. ऐसा तब हो सकता है, जब ZooKeeper प्रोसेस अचानक बंद हो जाती है या
किसी वजह से अचानक और apigee-zookeeper.pid
फ़ाइल को मिटाया नहीं गया.
संक्रमण की जांच
- इस समय चल रही ZooKeeper प्रोसेस की प्रोसेस आईडी पाने के लिए,
ps
निर्देश:ps -ef | grep zookeeper
- देखें कि
/opt/apigee/var/run/apigee-ZooKeeper/apigee-zookeeper.pid
फ़ाइल मौजूद है. अगर यह मौजूद है, तो इस फ़ाइल में लिखा गया प्रोसेस आईडी लिख लें. - चरण #1 और #2 में लिए गए प्रोसेस आईडी की तुलना करें. अगर वे अलग-अलग हैं, तो
इस समस्या के लिए
apigee-zookeeper.pid file.
में गलत प्रोसेस आईडी है
रिज़ॉल्यूशन
- apigee-zookeeper.pid फ़ाइल में बदलाव करें और गलत प्रोसेस आईडी को सही आईडी से बदलें ps आदेश से मिली प्रक्रिया आईडी (ऊपर चरण #1).
- ZooKeeper को रीस्टार्ट करें:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
ZooKeeper लीडर के चुनाव में कोई गड़बड़ी हुई
संक्रमण की जांच
गड़बड़ी की जानकारी पाने के लिए:
- इसके लिए ZooKeeper लॉग
/opt/apigee/var/log/apigee-zookeeper/zookeeper.log
देखें गड़बड़ियां हैं. - देखें कि क्या कॉन्फ़िगरेशन में कोई ऐसे बदलाव हुए हैं जिनकी वजह से लीडर फ़ेल कर सकते हैं.
/opt/apigee/apigee-zookeeper/conf/zoo.cfg
की जांच करें और पक्का करें कि क्लस्टर में ZooKeepers के पास Server.# पैरामीटर के लिए, सही संख्या और आईपी पते होते हैं. यह भी ध्यान रखें कि नेता के चुनाव के सफल होने के लिए कम से कम 3 मतदाताओं का होना ज़रूरी है और मतदाताओं की संख्या विषम संख्या में होनी चाहिए. अगर मतदाताओं की संख्या बहुत कम है, जैसे कि सिर्फ़ 2 वोटों के लिए, सिर्फ़ दो मतदाताओं में से किसी नेता का चुनाव करने के लिए कोठरी नहीं हो सकती.
रिज़ॉल्यूशन
आम तौर पर, गलत तरीके से कॉन्फ़िगर किए गए मायआईडी की वजह से, ZooKeeper चुनाव में ऐसा नहीं होता है. रिज़ॉल्यूशन का इस्तेमाल इसमें चुनाव में गड़बड़ी का पता लगाने के लिए, गलत तरीके से कॉन्फ़िगर किया गया ZooKeeper myid.
अगर समस्या बनी रहती है और समस्या के बारे में ज़्यादा जानकारी चाहिए, तो Apigee Edge की सहायता टीम से संपर्क करें.