2017-01-10 52 views
0

在安裝Apigee Edge私有云版本4.16.09(即最新版本)期間,我在路由器/消息處理(RMP)安裝中遇到了令人沮喪的錯誤。 具體來說,使用apigee-ngnix包。在我進入細節,這裏是關於該機的一些基本信息在其上安裝正在發生:Apigee Edge私有云4.16.09阻擋安裝錯誤

# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.2 (Maipo) 
# uname -a 
Linux *** 3.10.0-327.18.2.el7.x86_64 *** Fri Apr 8 05:09:53 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux 

發出RMP安裝的命令如下:

/opt/apigee/apigee-setup/bin/setup.sh -p rmp -f /tmp/myConfig.txt 

而且(含有所討論的誤差)之後的輸出如下所示:

apigee-service: edge-router: edge-router is running 

Checking for router on 127.0.0.1 port 8081 ............. OK 

Checking for router uuid 649f58ba-bb61-469e-b169-ceb955961242 

Checking if router is up ............................................................. 

router is not up. 

Error: setup.sh: /opt/apigee/apigee-service/bin/apigee-service exited with unexpected status 1 

當我挖入日誌,我看到下面的錯誤 -

/opt/apigee/var/log/edge-router/edge-router.log:

java.io.IOException: Cannot run program "/opt/nginx/scripts/apigee-nginx": error=2, No such file or directory 

at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) 

非常奇怪的是沒有被安裝過程中創建的apigee-ngnix文件(因爲它應該)。

/opt/apigee/var/log/edge-router/logs/system.log:

2017-01-05 13:11:09,012 main-EventThread ERROR o.a.c.ConnectionState - ConnectionState.checkState() : Authentication failed 

... 

2017-01-06 11:18:55,249 qtp371397455-42 ERROR REST - CustomJAXRSInvoker.performInvocation() : CustomJAXRSInvoker.performInvocation : Method com.apigee.registration.ServersAPI.isServerCompletelyUp threw an exception. 

... 

2017-01-06 11:18:55,253 qtp371397455-42 ERROR REST - ExceptionMapper.toResponse() : Error occurred : Service not up yet. 

com.apigee.registration.ServersAPI.isServerCompletelyUp(ServersAPI.java:106) 

sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 

sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 

2017-01-06 11:18:55,255 qtp371397455-42 ERROR REST - ExceptionMapper.toResponse() : Returning error response : ErrorResponse{errorCode = null, errorMessage = Service not up yet.} 

... 

2017-01-06 11:18:55,576 main ERROR LOAD-BALANCER - LoadBalancingManagementServiceImpl.start() : Could not Initialize adaptor nginx 

... 

2017-01-06 11:18:55,603 main ERROR Router-Service - RouterServiceImpl.start() : Router not started because, Load Balancing could not be initialized 

2017-01-06 11:18:55,614 main ERROR KERNEL.DEPLOYMENT - ServiceDeployer.startService() : ServiceDeployer.deploy() : Got a life cycle exception while starting service [RouterService, Nginx Initialization failed] : {} 

com.apigee.errors.http.server.ServiceFailureException: Nginx Initialization failed 

at com.apigee.proxy.service.RouterServiceImpl.start(RouterServiceImpl.java:65) ~[message-router-proxy-1.0.0.jar:na] 

我很困惑,如何可能會發生。我在各種日誌文件中看不到任何其他錯誤。任何有關可能會出現錯誤的想法?也許在哪裏尋找其他線索和/或如何進行安裝?我試過打開權限設置超出nginx文件夾結構中的必要設置(爲了安全起見),但無濟於事。

請注意,Apigee Edge安裝中的所有其他組件(例如管理服務器,分析,數據存儲等)的安裝工作不會有絲毫問題!

在此先感謝您提供任何幫助或見解!

最佳, 克里斯

回答

0

直接安裝在路由器和消息處理器組件之前,運行下面的命令,這是針對此問題的可行解決方法:

mkdir /opt/apigee/etc/edge-router.d 
echo RUN_USER=root >> /opt/apigee/etc/edge-router.d/RUN_USER.sh 
chown -R apigee:apigee /opt/apigee/etc/edge-router.d 

最佳, 克里斯