Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Belirti
API proxy düzeltmelerinin Edge kullanıcı arayüzü veya Edge Management API üzerinden dağıtımı, ZooKeeper "Error whenılır by path" (Yol için alt öğeler getirilirken hata oluştu) mesajı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: Aşağıdaki adımları yalnızca Edge Private Cloud kullanıcıları gerçekleştirebilir. Edge Public Cloud'daysanı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 için 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 (
/opt/apigee/var/log/edge-message-processor/system.log
) kontrol edin.İleti İşleyici günlüğünden ö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österildiğine benzer bir hata görürseniz aşağıdaki adımları uygulayın:
- Aşağıdaki adımları kullanarak Mesaj İşleyici ile 2181 numaralı bağlantı noktasındaki ZooKeeper sunucuları arasındaki 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 şekilde kontrol etmek için netcat'i kullanın:
nc -vz <ZooKeeper-IP> 2181
- "Bağlantı Reddedildi" veya "Bağlantı zaman aşımına uğradı" yanıtını alırsanız ağ işlemleri 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ı kullanarak Mesaj İşleyici ile 2181 numaralı bağlantı noktasındaki ZooKeeper sunucuları arasındaki 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: Aşağıdaki adımları yalnızca Edge Private Cloud kullanıcıları gerçekleştirebilir. Edge Public Cloud'daysanız Apigee Edge Destek Ekibi ile iletişime geçin.
- Ağ ekibinizle birlikte çalışarak:
-
- Mesaj İşleyici ile 2181 numaralı bağlantı noktasındaki tüm ZooKeeper düğümleri arasında bağlantıya izin verildiğinden emin olun.
- ZooKeeper sunucularında 2181 numaralı bağlantı noktasına bağlantı sağlamak için Mesaj İşleyicilerinden güvenlik duvarı kısıtlamalarını veya ayarlanan güvenlik kurallarını kaldırın.
- Mesaj İşleyici'de ağ sorunu varsa hatayı gösteren belirli Mesaj İşleyiciyi yeniden başlatmak (dağıtım durumu çıkışına göre) sorunu çözebilir. İlgili Mesaj İş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.
-