আপনি 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-এর সাথে যোগাযোগ করুন।
- নিম্নলিখিত ম্যানেজমেন্ট এপিআই কলটি ব্যবহার করে ত্রুটি প্রদর্শনকারী নির্দিষ্ট এপিআই-টির ডেপ্লয়মেন্ট স্ট্যাটাস আউটপুট পান:
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" },
- মেসেজ প্রসেসরটি পরীক্ষা করুন (
/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
- যদি আপনি উপরের উদাহরণে দেখানো অনুরূপ কোনো ত্রুটি লক্ষ্য করেন, তাহলে নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করুন:
- নিম্নলিখিত ধাপগুলো অনুসরণ করে মেসেজ প্রসেসর থেকে পোর্ট 2181-এ ZooKeeper সার্ভারগুলোর সাথে সংযোগ পরীক্ষা করুন:
- যদি টেলনেট উপলব্ধ থাকে, তাহলে টেলনেট ব্যবহার করুন:
telnet <ZooKeeper-IP> 2181
- যদি টেলনেট উপলব্ধ না থাকে, তাহলে নিম্নলিখিতভাবে নেটক্যাট ব্যবহার করে সংযোগ পরীক্ষা করুন:
nc -vz <ZooKeeper-IP> 2181
- যদি আপনি "Connection Refused" বা "Connection timed out" প্রতিক্রিয়া পান, তাহলে আপনার নেটওয়ার্ক অপারেশন টিমের সাথে যোগাযোগ করুন। নিচের Resolution বিভাগে যান।
- যদি টেলনেট উপলব্ধ থাকে, তাহলে টেলনেট ব্যবহার করুন:
- নিম্নলিখিত ধাপগুলো অনুসরণ করে মেসেজ প্রসেসর থেকে পোর্ট 2181-এ ZooKeeper সার্ভারগুলোর সাথে সংযোগ পরীক্ষা করুন:
- যদি আপনি অন্য কিছু লক্ষ্য করেন, তাহলে Apigee Edge Support-এর সাথে যোগাযোগ করুন।
সমাধান
দ্রষ্টব্য: শুধুমাত্র Edge Private Cloud ব্যবহারকারীরাই নিম্নলিখিত ধাপগুলি অনুসরণ করতে পারবেন। আপনি যদি Edge Public Cloud ব্যবহার করেন, তাহলে Apigee Edge Support-এর সাথে যোগাযোগ করুন।
- আপনার নেটওয়ার্ক টিমের সাথে কাজ করুন:
- মেসেজ প্রসেসর এবং সমস্ত ZooKeeper নোডের মধ্যে পোর্ট 2181-এ সংযোগের অনুমতি দেওয়া আছে কিনা তা নিশ্চিত করুন।
- ZooKeeper সার্ভারগুলিতে পোর্ট 2181-এ সংযোগের অনুমতি দেওয়ার জন্য Message Processors থেকে সেটআপ করা যেকোনো ফায়ারওয়াল বিধিনিষেধ বা নিরাপত্তা নিয়ম সরিয়ে ফেলুন।
- মেসেজ প্রসেসরে নেটওয়ার্ক সমস্যা থাকলে, (ডিপ্লয়মেন্ট স্ট্যাটাস আউটপুট অনুযায়ী) যে নির্দিষ্ট মেসেজ প্রসেসরটিতে ত্রুটি দেখাচ্ছে, সেটি রিস্টার্ট করলে সমস্যাটির সমাধান হতে পারে। নির্দিষ্ট মেসেজ প্রসেসরটি রিস্টার্ট করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
যদি সমস্যাটি অব্যাহত থাকে, তাহলে Apigee Edge Support-এর সাথে যোগাযোগ করুন।