Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Belirti
API proxy düzeltmelerinin Edge Kullanıcı Arayüzü veya Edge management API aracılığıyla dağıtılması ZooKeeper hatası "Yol için alt öğeler getirilirken hata oluştu".
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 genel nedeni İleti İşlemcisi ile ve ZooKeeper'ı kullanıyor.
Teşhis
Not: Aşağıdaki adımları yalnızca Edge Private Cloud kullanıcıları gerçekleştirebilir. Şu durumda: Edge Public Cloud kullanıyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.
- Hatayı gösteren spesifik API'nin dağıtım durumu çıktısını almak için
aşağıdaki Management API çağrısı:
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 etme
(
/opt/apigee/var/log/edge-message-processor/system.log
).İleti İş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 işlemi gerçekleştirin
için şu adımları izleyin:
- İleti İşleyici ile ZooKeeper sunucularına 2181 numaralı bağlantı noktası arasındaki bağlantıyı test etme
şu adımları uygulayın:
- 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" yanıtını alırsanız veya "Bağlantı zaman aşımına uğradı" demek yerine ağ operasyonları ekibi. Aşağıdaki Çözünürlük bölümüne gidin.
- Telnet kullanılabiliyorsa telnet'i kullanın:
- İleti İşleyici ile ZooKeeper sunucularına 2181 numaralı bağlantı noktası arasındaki bağlantıyı test etme
şu adımları uygulayın:
- 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. Şu durumda: Edge Public Cloud kullanıyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.
- Ağ ekibinizle birlikte çalışarak:
-
- Mesaj İşleyici ve tüm ZooKeeper'lar arasında bağlantıya izin verildiğinden emin olun. düğümler için bağlantı noktası 2181'dir.
- İleti İşleyicileri'nden tüm güvenlik duvarı kısıtlamalarını veya güvenlik kuralları ayarlarını kaldırarak ZooKeeper sunucularında 2181 numaralı bağlantı noktasına bağlantıya izin verir.
- Mesaj İşleyici'de ağ sorunu varsa ilgili
Hatayı gösteren İleti İşleyici (dağıtım durumu çıktısına göre)
. Söz konusu 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.
-