পথের জন্য শিশুদের আনার সময় ত্রুটি৷

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

লক্ষণ

Edge UI বা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি রিভিশন ডেপ্লয়মেন্ট করতে গেলে ZooKeeper-এর "Error while fetching children for path" ত্রুটিটি দেখা দেয়।

ত্রুটির বার্তা

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

সম্ভাব্য কারণসমূহ

এই ত্রুটির সাধারণ কারণ হলো মেসেজ প্রসেসর এবং জু-কিপারের মধ্যে নেটওয়ার্ক সংযোগের সমস্যা।

রোগ নির্ণয়

দ্রষ্টব্য: শুধুমাত্র Edge Private Cloud ব্যবহারকারীরাই নিম্নলিখিত ধাপগুলি অনুসরণ করতে পারবেন। আপনি যদি Edge Public Cloud ব্যবহার করেন, তাহলে Apigee Edge Support-এর সাথে যোগাযোগ করুন।

  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. যদি টেলনেট উপলব্ধ না থাকে, তাহলে নিম্নলিখিতভাবে নেটক্যাট ব্যবহার করে সংযোগ পরীক্ষা করুন:
        nc -vz <ZooKeeper-IP> 2181
      3. যদি আপনি "Connection Refused" বা "Connection timed out" প্রতিক্রিয়া পান, তাহলে আপনার নেটওয়ার্ক অপারেশন টিমের সাথে যোগাযোগ করুন। নিচের Resolution বিভাগে যান।
  4. যদি আপনি অন্য কিছু লক্ষ্য করেন, তাহলে Apigee Edge Support-এর সাথে যোগাযোগ করুন।

সমাধান

দ্রষ্টব্য: শুধুমাত্র Edge Private Cloud ব্যবহারকারীরাই নিম্নলিখিত ধাপগুলি অনুসরণ করতে পারবেন। আপনি যদি Edge Public Cloud ব্যবহার করেন, তাহলে Apigee Edge Support-এর সাথে যোগাযোগ করুন।

  1. আপনার নেটওয়ার্ক টিমের সাথে কাজ করুন:
      1. মেসেজ প্রসেসর এবং সমস্ত ZooKeeper নোডের মধ্যে পোর্ট 2181-এ সংযোগের অনুমতি দেওয়া আছে কিনা তা নিশ্চিত করুন।
      2. ZooKeeper সার্ভারগুলিতে পোর্ট 2181-এ সংযোগের অনুমতি দেওয়ার জন্য Message Processors থেকে সেটআপ করা যেকোনো ফায়ারওয়াল বিধিনিষেধ বা নিরাপত্তা নিয়ম সরিয়ে ফেলুন।
    1. মেসেজ প্রসেসরে নেটওয়ার্ক সমস্যা থাকলে, (ডিপ্লয়মেন্ট স্ট্যাটাস আউটপুট অনুযায়ী) যে নির্দিষ্ট মেসেজ প্রসেসরটিতে ত্রুটি দেখাচ্ছে, সেটি রিস্টার্ট করলে সমস্যাটির সমাধান হতে পারে। নির্দিষ্ট মেসেজ প্রসেসরটি রিস্টার্ট করুন:
      /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

    যদি সমস্যাটি অব্যাহত থাকে, তাহলে Apigee Edge Support-এর সাথে যোগাযোগ করুন।