2017-01-10 57 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 

最佳, 克里斯