Przeglądasz dokumentację Apigee Edge.
  Przejdź do
     Dokumentacja Apigee X. informacje.
Krótki opis problemu
Wdrożenie wersji serwera proxy interfejsu API za pomocą interfejsu Edge lub Edge Management API kończy się niepowodzeniem z Błąd ZooKeeper „Podczas pobierania elementów podrzędnych dla ścieżki wystąpił błąd”.
Komunikaty o błędach
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 = []};Możliwe przyczyny
Typową przyczyną tego błędu jest problem z połączeniem sieciowym między procesorem wiadomości i ZooKeeper.
Diagnostyka
Uwaga: tylko użytkownicy Edge Private Cloud mogą wykonywać poniższe czynności. Jeśli korzystają z Edge Public Cloud, skontaktuj się z zespołem pomocy Apigee Edge.
- Pobierz dane wyjściowe stanu wdrożenia dla określonego interfejsu API wyświetlającego błąd, przy użyciu
    następujące wywołanie interfejsu Management API:
      
curl -v http://<management-server-IPaddress>:<port#>/organizations/<orgname>/environments/<envname>/apis/<apiname>/deployments -u <username>
Przykładowe dane wyjściowe stanu wdrożenia z błędem:
{ "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" },
 - Sprawdź procesor wiadomości
    (
/opt/apigee/var/log/edge-message-processor/system.log).Przykładowy błąd z dziennika procesora wiadomości
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
 - Jeśli zauważysz podobny błąd jak w przykładzie powyżej, wykonaj te czynności:
    kroki:
      
- Przetestuj połączenie procesora komunikatów z serwerami ZooKeeper na porcie 2181.
        w ten sposób:
          
- Jeśli usługa telnet jest dostępna, użyj polecenia telnet:
              
telnet <ZooKeeper-IP> 2181
 - Jeśli usługa Telnet jest niedostępna, użyj narzędzia netcat, aby sprawdzić łączność w następujący sposób:
              
nc -vz <ZooKeeper-IP> 2181
 - Jeśli pojawi się komunikat „Odmowa połączenia” lub „Osiągnięto limit czasu połączenia”, ds. działań sieciowych. Przejdź do sekcji Rozwiązanie poniżej.
 
 - Jeśli usługa telnet jest dostępna, użyj polecenia telnet:
              
 
 - Przetestuj połączenie procesora komunikatów z serwerami ZooKeeper na porcie 2181.
        w ten sposób:
          
 - Jeśli zauważysz inne, skontaktuj się z zespołem pomocy Apigee Edge.
 
Rozdzielczość
Uwaga: tylko użytkownicy Edge Private Cloud mogą wykonywać poniższe czynności. Jeśli korzystają z Edge Public Cloud, skontaktuj się z zespołem pomocy Apigee Edge.
- Współpracuj z zespołem ds. sieci, aby:
      
- 
          
- Sprawdź, czy połączenie między procesorem wiadomości a wszystkimi urządzeniami ZooKeeper jest dozwolone węzłów na porcie 2181.
 - Usuń wszelkie ograniczenia zapory sieciowej i reguły zabezpieczeń skonfigurowane z procesorów wiadomości w zezwól na połączenie z portem 2181 na serwerach ZooKeeper.
 
 - Jeśli w procesorze wiadomości występuje problem z siecią, uruchom ponownie określoną
        Procesor wiadomości, który wyświetla błąd (zgodnie ze stanem wdrożenia), może naprawić
        Google Cloud. Uruchom ponownie określony procesor wiadomości:
          
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
 
Jeśli problem będzie nadal występował, skontaktuj się z zespołem pomocy Apigee Edge.
 -