Apigee Edge Private Cloud 4.16.09 莫名其妙的安装错误

Apigee Edge Private Cloud 4.16.09 Baffling Installation Error

在安装 Apigee Edge Private Cloud 版本 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]

我很困惑这是怎么发生的。我在各种日志文件中没有看到任何其他错误。关于这里可能出现什么问题的任何想法?也许去哪里寻找其他线索 and/or 如何进行安装?我已经尝试打开 nginx 周围文件夹结构中必要的权限设置(只是为了安全起见),但无济于事。

请注意,Apigee Edge 安装中的所有其他组件(例如管理服务器、分析、数据存储等)的安装工作没有任何问题!

在此先感谢您提供的所有帮助或见解!

最好的, 克里斯

直接在安装路由器和消息处理器组件之前,运行 以下命令是解决此问题的可行方法:

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

最好, 克里斯