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

Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं.
जानकारी

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

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

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

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 = []};

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

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

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

ध्यान दें: Edge Private Cloud का इस्तेमाल करने वाले लोग ही ये चरण पूरे कर सकते हैं. अगर आप 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 पर Message प्रोसेसर से ZoomKeeper सर्वर तक कनेक्टिविटी की जांच करें:
      1. अगर टेलनेट उपलब्ध है, तो टेलनेट का इस्तेमाल करें:
        telnet <ZooKeeper-IP> 2181
        
      2. अगर टेलनेट उपलब्ध नहीं है, तो कनेक्टिविटी की जांच करने के लिए, netcat का इस्तेमाल इस तरह करें:
        nc -vz <ZooKeeper-IP> 2181
        
      3. अगर आपको "कनेक्शन से इनकार किया गया" या "कनेक्शन का समय खत्म हो गया" जवाब मिलता है, तो अपनी नेटवर्क ऑपरेशन टीम से संपर्क करें. नीचे रिज़ॉल्यूशन सेक्शन पर जाएं.
  4. अगर आपको कोई और समस्या दिखती है, तो Apigee Edge की सहायता टीम से संपर्क करें.

रिज़ॉल्यूशन

ध्यान दें: Edge Private Cloud का इस्तेमाल करने वाले लोग ही ये चरण पूरे कर सकते हैं. अगर आप Edge Public Cloud का इस्तेमाल कर रहे हैं, तो Apigee Edge सहायता से संपर्क करें.

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

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