पाथ के लिए चिल्ड्रेन फ़ेच करने में गड़बड़ी हुई

आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

समस्या का ब्यौरा

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

गड़बड़ी के मैसेज

Error in deployment for environment prod. 
The revision is deployed, but traffic cannot flow. com.apigee.repository.RepositoryException{ code = repository.zookeeper.UnExpectedError, message = Unexpected error Error while fetching children for path : /organizations/myorg/environments/prod/apiproxies/tinkerbell/revisions, associated contexts = []};

संभावित वजहें

इस गड़बड़ी की आम वजह, मैसेज प्रोसेसर के बीच नेटवर्क कनेक्टिविटी की समस्या है और ZooKeeper.

संक्रमण की जांच

ध्यान दें: सिर्फ़ Edge प्राइवेट क्लाउड इस्तेमाल करने वाले लोग ही यह तरीका अपना सकते हैं. अगर आपको अगर उपयोगकर्ता Edge Public Cloud का इस्तेमाल करते हैं, तो Apigee Edge की सहायता टीम से संपर्क करें.

  1. उस एपीआई के लिए डिप्लॉयमेंट की स्थिति का आउटपुट पाएं जो नीचे दिया गया मैनेजमेंट एपीआई कॉल:
    curl -v http://<management-server-IPaddress>:<port#>/organizations/<orgname>/environments/<envname>/apis/<apiname>/deployments -u <username>
    
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

    डिप्लॉयमेंट की स्थिति बताने वाले आउटपुट का सैंपल, जिसमें गड़बड़ी दिख रही है:

    { 
    "environment" : [ { 
    "name" : "prod", 
    "revision" : [ { 
    "configuration" : { 
    "basePath" : "/", 
    "steps" : [ ] 
    }, 
    "name" : "1", 
    "server" : [ { 
    "error" : "com.apigee.repository.RepositoryException: com.apigee.zookeeper.ZooKeeperException{ code = zookeeper.ErrorFetchingChildren, message = Error while fetching children for path : /organizations/gsc/environments/prod/apiproxies/apigee_test/revisions, associated contexts = []}", 
    "status" : "error", 
    "type" : [ "message-processor" ], 
    "uUID" : "01fc5b23-8ad3-40bf-b059-2fc82cdac111" 
    },
    
  2. मैसेज प्रोसेसर की जांच करना (/opt/apigee/var/log/edge-message-processor/system.log).

    मैसेज प्रोसेसर लॉग में गड़बड़ी का नमूना

    2017-05-29 01:25:40,592  main ERROR KERNEL - MicroKernel.deployAll() : MicroKernel.deployAll() : Error in deploying the deployment : WebService
    com.apigee.zookeeper.ZooKeeperException: Error while checking path existence for path : /regions/dc-2/pods/gateway/servers/099c2603-93a4-4b73-ae03-a55d130adb80/reachable
            at com.apigee.zookeeper.impl.ZooKeeperServiceImpl.exists(ZooKeeperServiceImpl.java:410) ~[zookeeper-1.0.0.jar:na]
            at com.apigee.zookeeper.impl.ZooKeeperServiceImpl.exists(ZooKeeperServiceImpl.java:394) ~[zookeeper-1.0.0.jar:na]
            at com.apigee.services.repository.zookeeper.ZKRepository.exists(ZKRepository.java:280) ~[repository-impl-1.0.0.jar:na]
            at com.apigee.services.repository.RepositoryServiceImpl.exists(RepositoryServiceImpl.java:234) ~[repository-impl-1.0.0.jar:na]
            at com.apigee.registration.info.StatusBuilder.build(StatusBuilder.java:26) ~[registration-1.0.0.jar:na]
            at com.apigee.registration.ServerRegistrationServiceImpl.buildServerInfo(ServerRegistrationServiceImpl.java:856) ~[registration-1.0.0.jar:na]
            at com.apigee.registration.ServerRegistrationServiceImpl.start(ServerRegistrationServiceImpl.java:122) ~[registration-1.0.0.jar:na]
            at com.apigee.kernel.service.deployment.ServiceDeployer.startService(ServiceDeployer.java:167) ~[microkernel-1.0.0.jar:na]
            at com.apigee.kernel.service.deployment.ServiceDeployer.deploy(ServiceDeployer.java:70) ~[microkernel-1.0.0.jar:na]
            at com.apigee.kernel.service.deployment.ServiceDeployer.deployDependantServices(ServiceDeployer.java:356) ~[microkernel-1.0.0.jar:na]
            at com.apigee.kernel.service.deployment.ServiceDeployer.deploy(ServiceDeployer.java:76) ~[microkernel-1.0.0.jar:na]
            at com.apigee.kernel.service.deployment.ServiceDeployer.deployDependantServices(ServiceDeployer.java:356) ~[microkernel-1.0.0.jar:na]
            at com.apigee.kernel.service.deployment.ServiceDeployer.deploy(ServiceDeployer.java:76) ~[microkernel-1.0.0.jar:na]
            at com.apigee.kernel.MicroKernel.deployAll(MicroKernel.java:178) [microkernel-1.0.0.jar:na]
            at com.apigee.kernel.MicroKernel.start(MicroKernel.java:139) [microkernel-1.0.0.jar:na]
            at com.apigee.kernel.MicroKernel.start(MicroKernel.java:135) [microkernel-1.0.0.jar:na]
            at com.apigee.kernel.MicroKernel.main(MicroKernel.java:84) [microkernel-1.0.0.jar:na]
    Caused by: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /regions/dc-2/pods/gateway/servers/099c2603-93a4-4b73-ae03-a55d130adb80/reachable
            at org.apache.zookeeper.KeeperException.create(KeeperException.java:99) ~[zookeeper-3.4.6.jar:3.4.6-1569965]
            at org.apache.zookeeper.KeeperException.create(KeeperException.java:51) ~[zookeeper-3.4.6.jar:3.4.6-1569965]
            at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1045) ~[zookeeper-3.4.6.jar:3.4.6-1569965]
            at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1073) ~[zookeeper-3.4.6.jar:3.4.6-1569965]
            at com.apigee.zookeeper.impl.ZooKeeperServiceImpl.exists(ZooKeeperServiceImpl.java:402) ~[zookeeper-1.0.0.jar:na]
            ... 16 common frames omitted
    
  3. अगर आपको ऊपर दिए गए उदाहरण के मुताबिक ऐसी ही गड़बड़ी दिखती है, तो नीचे दिया गया तरीका अपनाएं चरण:
    1. पोर्ट 2181 पर मैसेज प्रोसेसर से ZooKeeper सर्वर तक की कनेक्टिविटी की जांच करें इसके लिए, यह तरीका अपनाएं:
      1. अगर टेलनेट उपलब्ध है, तो टेलनेट का इस्तेमाल करें:
        telnet <ZooKeeper-IP> 2181
        
        अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
      2. अगर टेलनेट उपलब्ध नहीं है, तो कनेक्टिविटी की जांच करने के लिए इस तरह से netcat का इस्तेमाल करें:
        nc -vz <ZooKeeper-IP> 2181
        
        अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
      3. अगर आपको "कनेक्शन अस्वीकार किया गया" जवाब मिलता है या "कनेक्शन का समय खत्म हो गया", नेटवर्क ऑपरेशन से जुड़ी टीम. नीचे, रिज़ॉल्यूशन सेक्शन पर जाएं.
  4. अगर आपको कोई और समस्या दिखती है, तो Apigee Edge की सहायता टीम से संपर्क करें.

रिज़ॉल्यूशन

ध्यान दें: सिर्फ़ Edge प्राइवेट क्लाउड इस्तेमाल करने वाले लोग ही यह तरीका अपना सकते हैं. अगर आपको अगर उपयोगकर्ता Edge Public Cloud का इस्तेमाल करते हैं, तो Apigee Edge की सहायता टीम से संपर्क करें.

  1. इन कामों के लिए अपनी नेटवर्क टीम के साथ काम करें:
      1. पक्का करें कि मैसेज प्रोसेसर और सभी ZooKeeper के बीच कनेक्टिविटी की अनुमति हो पोर्ट 2181 पर नोड डालें.
      2. मैसेज प्रोसेसर से, फ़ायरवॉल की पाबंदियों या सुरक्षा नियमों के सेट अप को, ZooKeeper सर्वर पर पोर्ट 2181 से कनेक्टिविटी की अनुमति दें.
    1. अगर मैसेज प्रोसेसर में नेटवर्क की समस्या है, तो किसी खास प्रोसेसर को रीस्टार्ट करें गड़बड़ी (डिप्लॉयमेंट स्टेटस आउटपुट के हिसाब से) दिखाने वाला मैसेज प्रोसेसर, गड़बड़ी को ठीक कर सकता है समस्या. मैसेज प्रोसेसर को रीस्टार्ट करें:
      /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
      
      अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

    अगर समस्या बनी रहती है, तो Apigee Edge की सहायता टीम से संपर्क करें.