Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Belirti
Edge kullanıcı arayüzü veya Edge Management API aracılığıyla API proxy revizyonlarının dağıtımı, "Error while fetching children for path" (Yol için alt öğeler getirilirken hata oluştu) ZooKeeper hatasıyla başarısız oluyor.
Hata mesajları
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 = []};Olası nedenler
Bu hatanın tipik nedeni, Mesaj İşleyici ile ZooKeeper arasındaki ağ bağlantısı sorunudur.
Teşhis
Not: Yalnızca Edge Private Cloud kullanıcıları aşağıdaki adımları uygulayabilir. Edge Public Cloud kullanıyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.
- Aşağıdaki Management API çağrısını kullanarak hatayı gösteren belirli API'nin dağıtım durumu çıkışını alın:
curl -v http://<management-server-IPaddress>:<port#>/organizations/<orgname>/environments/<envname>/apis/<apiname>/deployments -u <username>
Hatayı gösteren örnek dağıtım durumu çıkışı:
{ "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" },
- Mesaj İşleyici'yi kontrol edin
(
/opt/apigee/var/log/edge-message-processor/system.log).Mesaj işleyici günlüğündeki örnek hata
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
- Yukarıdaki örnekte gösterilene benzer bir hata görürseniz aşağıdaki adımları uygulayın:
- Aşağıdaki adımları uygulayarak Mesaj İşleyici'den 2181 numaralı bağlantı noktasındaki ZooKeeper sunucularına bağlantıyı test edin:
- Telnet kullanılabiliyorsa telnet'i kullanın:
telnet <ZooKeeper-IP> 2181
- Telnet kullanılamıyorsa bağlantıyı aşağıdaki gibi netcat ile kontrol edin:
nc -vz <ZooKeeper-IP> 2181
- "Bağlantı reddedildi" veya "Bağlantı zaman aşımına uğradı" yanıtını alırsanız ağ operasyonları ekibinizle iletişime geçin. Aşağıdaki Çözüm bölümüne gidin.
- Telnet kullanılabiliyorsa telnet'i kullanın:
- Aşağıdaki adımları uygulayarak Mesaj İşleyici'den 2181 numaralı bağlantı noktasındaki ZooKeeper sunucularına bağlantıyı test edin:
- Başka bir durumla karşılaşırsanız Apigee Edge Destek Ekibi ile iletişime geçin.
Çözünürlük
Not: Yalnızca Edge Private Cloud kullanıcıları aşağıdaki adımları uygulayabilir. Edge Public Cloud kullanıyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.
- Ağ ekibinizle birlikte çalışarak:
-
- Bağlantı noktası 2181'de Mesaj İşleyici ile tüm ZooKeeper düğümleri arasında bağlantıya izin verildiğinden emin olun.
- Mesaj işlemcilerinden ayarlanan tüm güvenlik duvarı kısıtlamalarını veya güvenlik kurallarını kaldırarak ZooKeeper sunucularında 2181 numaralı bağlantı noktasına bağlantıya izin verin.
- Mesaj İşleyicisinde ağ sorunu varsa hatayı gösteren belirli Mesaj İşleyicisini (dağıtım durumu çıkışına göre) yeniden başlatmak sorunu düzeltebilir. Belirli bir mesaj işleyiciyi yeniden başlatın:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Sorun devam ederse Apigee Edge Destek Ekibi ile iletişime geçin.
-