Apigee Edge私有云4.16.09令人困惑的安装错误

时间:2017-01-10 04:22:49

标签: nginx apigee

在安装Apigee Edge私有云版本4.16.09(即最新版本)期间,我在Router / Message-proc(RMP)安装中遇到了令人沮丧的错误。 具体来说,使用apigee-ngnix软件包。在进入详细信息之前,以下是有关正在进行安装的机器的一些基本信息:

# 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安装中所有其他组件的安装(例如管理服务器,分析,数据存储等)在没有任何问题的情况下都能正常运行!

提前感谢您提供任何帮助或见解!

最佳, 克里斯

1 个答案:

答案 0 :(得分: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

最好, 克里斯