0

J'ai créé une application Web en utilisant jsp/tiles/struts/mysql/tomcat. J'ai créé un nouveau projet sur la console Openshift 3 (Openshift online) https://console.preview.openshift.com/console/ puis ajouté tomcat/mySql. Je recevais 503 erreur parfois et d'autres fois, la même page fonctionnait comme prévu. 503 erreur est venu au hasard pour n'importe quelle page de mon projet. Quand je reçois une erreur 503, je rafraîchis un certain nombre de fois et ça disparaît, et ma page est correctement affichée.Openshift 3, 503 Erreur (Aucun serveur n'est disponible pour traiter cette demande)

erreur que je vois est: "503 Service Unavailable Aucun serveur est disponible pour traiter cette demande."

Je l'ai fait quelques recherches: Ce que je comprends de ce OpenShift 2 lien: https://blog.openshift.com/how-to-host-your-java-ee-application-with-auto-scaling/

est que pour corriger l'erreur 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 

Je ne sais pas si il est également applicable à openshift 3. Dans openshift 3 où est haproxy.log, haproxy.cfg, haproxy/conf ou son légèrement différent dans openshift 3. (Nut grâce aux commentaires de Warrens, oui il a vu 503 erreur dans openshift lié à HAProxy)

Maintenant après 1 semaine après avoir posté cette question: Je reçois Quota Reached Error. Je suis capable de construire mon projet mais tous les déploiements échouent. Je me demande si l'erreur 503 que je recevais plus tôt (complètement ou partiellement) était liée au quota atteint. Comment dois-je procéder maintenant?

boucle -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 

journaux Tomcat ne montrent aucune erreur d'application. Est-ce que la sonde Readinessiness et la sonde Liveness m'aideront? Je ne les ai pas encore définis. Je ne sais pas comment les définir.

aiderai échelle moi (je ne sais pas comment le configurer soit)

Dois-je mettre en mémoire/... tout au maximum autorisé pour assurer projet fonctionne en douceur?

+0

Vous devez complètement ignorer toute documentation qui parle de '' rhc'' comme OpenShift 2. Dans OpenShift 3, les choses sont faites très différemment. La première chose à faire est de vérifier que votre application fonctionne correctement. Pour ce faire, regardez les logs du pod dans la console web, ou utilisez la commande '' oc logs '' depuis la ligne de commande, où vous définissez le nom du pod en utilisant '' ocke pods''. Aussi, quel est l'environnement OpenShift? Quelque chose que vous avez créé, OpenShift Online, minishift, oc cluster? –

+0

Merci beaucoup. – Begineer

Répondre

0

Pour moi, j'ai eu une situation similaire d'obtenir 503 parfois et parfois obtenir ma page réelle. la raison en était parce que vous avez haproxy sur le frontend traitant les demandes. En fonction de votre configuration, vous pouvez même avoir quelques pods haproxy et votre demande pourrait être canalisée entre l'un des pods. Donc, dans mon cas, un pod fonctionnait et l'autre pas.

Donc, fondamentalement

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 

Comme vous pouvez le voir dans mon espace de noms par défaut de sortie est l'endroit où mes pods routeur (haproxy) vivent. Si je change de cet espace de noms

oc project default 

Ensuite, exécutez

oc logs -f router-1-533cg 

sur chacun des modules que vous trouverez très probablement un pod sepcific qui se comporte mal.Vous pouvez simplement supprimer, et le contrôleur de réplication va en créer un nouveau

+0

Oui j'utilise openshift 3.4 –

+0

En ce qui concerne le débogage si vous obtenez un 404 sur localhost lorsque vous rsh dans la boîte, il y a un autre problème. Est-ce le bon point final? On dirait que votre contexte racine de frappe dans votre application si son Tomcat. L'application est-elle réellement déployée à la racine? En fonction de l'image que vous utilisez, regardez/opt/webserver/webapps/Vous devriez voir dans quel dossier "Contexte" votre application est déployée. Quel que soit votre dossier, sinon ROOT alors votre curl devrait être quelque chose comme. "Curl -i http: // localhost: 8080/

+0

Warren, ainsi est curl -i localhost: 8080/GEA HTTP/1.1 302 Trouvé ok? – Begineer