我使用jsp / tiles / struts / mysql / tomcat创建了一个Web应用程序。我在Openshift 3控制台上创建了新项目(Openshift online)https://console.preview.openshift.com/console/然后添加了tomcat / mySql。我有时会得到503错误,其他时间,同一页面按预期工作。从我的项目中的任何页面随机出现503错误。当我收到503错误时,我刷新了一些时间并且它消失了,我的页面正确显示。
我看到的错误是: “503服务不可用 没有服务器可用于处理此请求。 “
我做了一些研究: 我从这个openshift 2链接中了解到的内容: https://blog.openshift.com/how-to-host-your-java-ee-application-with-auto-scaling/
是纠正503错误:
SSH into your application gear using rhc ssh --app <app_name>
Change directory to haproxy/conf
change the following in haproxy.cfg option httpchk GET / to option httpchk GET /api/v1/ping
Restart the HAProxy cartridge from your local machine using RHC rhc cartridge-restart --cartridge haproxy
我不知道它是否也适用于openshift 3.在openshift 3中,haproxy.log,haproxy.cfg,haproxy / conf或者它在openshift 3中略有不同。(Nut感谢Warrens的评论,是的,他看到了503与HAProxy相关的openshift中的错误)
发布此问题后1周后: 我收到配额到达错误。我能够构建我的项目,但所有部署都失败了。我想知道我之前得到的503错误(完全或部分)是否与达到的配额有关。我现在该怎么办。
curl -i localhost:8080 / GEA
HTTP/1.1 302 Found Server:
Apache-Coyote/1.1
Location: http://localhost:8080/GEA/
Transfer-Encoding: chunked Date: Tue, 11 Apr 2017 18:03:25 GMT
Tomcat日志不会显示任何应用程序错误。
准备探针和活力探测器会帮助我吗?我还没有设置它们。 我也不知道如何设置它们。
缩放会帮助我(我不知道如何设置它)
我是否必须设置内存/ ...所有最大允许以确保项目运行顺利?
答案 0 :(得分:0)
对我来说,我有类似的情况,有时会得到503,有时会得到我的实际页面。原因是因为你在处理请求的前端有haproxy。根据您的设置,您甚至可能会有一些haproxy pod,您的请求可以在其中一个pod之间进行。因此在我的情况下,一个吊舱正在工作而另一个没有。
所以基本上
oc get pods -n default
NAME READY STATUS RESTARTS AGE
docker-registry-7-i02rh 1/1 Running 0 75d
registry-console-12-wciib 1/1 Running 0 67d
router-1-533cg 1/1 Running 3 76d
router-1-9utld 1/1 Running 1 76d
router-1-uwf64 1/1 Running 1 76d
正如您在我的输出中看到的,默认命名空间是我的路由器(haproxy)pod所在的位置。如果我更改为该命名空间
oc project default
然后运行
oc logs -f router-1-533cg
在每个豆荚上,您很可能会发现一个表现不佳的特殊豆荚。您可以简单地删除,复制控制器将创建一个新的