openshift s2i_对Openshift上的Play Framework 2应用进行故障排除
生活随笔
收集整理的這篇文章主要介紹了
openshift s2i_对Openshift上的Play Framework 2应用进行故障排除
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
openshift s2i
Openshift故障排除? 使用“ 自己動手”應(yīng)用程序類型,您實(shí)際上可以有很大的自由度來支持幾乎可以在Linux機(jī)器上構(gòu)建和運(yùn)行的任何框架或服務(wù)器。 但是您必須做功課,并做一些研究。 因此,在本文中,我將向您展示一些我在使用Openshift和Play Framework方面學(xué)到的技巧。 歡迎發(fā)表評論,所以我希望您也可以向我提供更多提示,以幫助我們所有人在云上運(yùn)行我們的應(yīng)用程序。 為播放框架應(yīng)用程序提供本機(jī)支持 ? 目前,我們發(fā)現(xiàn)用于在openshift上部署Play 2.0應(yīng)用程序的解決方案非常方便,但我們可以做得更好。 問題在于我們必須在本地編譯該應(yīng)用程序(發(fā)出play stage ),然后將30 MB的庫推入Openshift。 理想的事情就是使用Play 1.x快速入門和適用于Play Framework 1.x的最新版本的Openshift模塊進(jìn)行的操作 ,那就是上傳我們的源代碼,然后讓Openshift下載并安裝Play,編譯我們的應(yīng)用程序,然后啟動它。 不幸的是,我們遇到了一些內(nèi)存限制(似乎編譯Play 2應(yīng)用程序有點(diǎn)內(nèi)存需求)最終導(dǎo)致了一些問題。 我們正在努力解決它們,但是也許,有了這些技巧,您可以幫助解決問題。 通過Openshift的開源和新的Origin livecd,我們可以使用更多工具來進(jìn)一步調(diào)查正在發(fā)生的事情,我只是沒有時間開始使用它。 因此,chat不休,讓我們動手吧。 休斯頓,我們有一個問題 ? 好的,您剛剛閱讀了本指南,或者使用此Play 2.0快速入門在Play Framework網(wǎng)絡(luò)研討會上按照我們的步驟進(jìn)行了操作(實(shí)際上,其中一些技巧將有助于排除在Openshift上運(yùn)行的任何應(yīng)用程序的故障),并且出現(xiàn)了問題。 首先,看看日志。 剛發(fā)行 rhc app tail -a myapp -l mylogin@openshift.com -p mysecretpass 將該窗口保持打開狀態(tài),以后將變得非常方便。 然后,我們將SSH到我們的遠(yuǎn)程計(jì)算機(jī)中。 只是發(fā)出: rhc app show -a myapp -l mylogin@openshift.com -p mysecretpass 你會得到類似 Application Info ================ contactsFramework: diy-0.1Creation: 2012-04-19T14:20:16-04:00UUID: 0b542570e41b42e5ac2a255c316871bcGit URL: ssh://0b542570e41b42e5ac2a255c316871bc@myapp-mylogin.rhcloud.com/~/git/myapp.git/Public URL: http://myapp-mylogin.rhcloud.com/Embedded: None 在ssh后面的Git URL內(nèi)容之后,登錄到openshift機(jī)器: ssh 96e487d1d4a042f8833efc696604f1e7@myapp-mylogin.rhcloud.com (如果您像我一樣懶惰,請繼續(xù)投票以更輕松地將其轉(zhuǎn)換為openshift ) 打開另一個命令窗口,將ssh切換到openshift并運(yùn)行諸如“ top”或“ watch -n 2 free -m”之類的內(nèi)容來監(jiān)視內(nèi)存使用也是一個好主意。 排除播放故障 ? 您知道一個古老的座右銘:“編寫一次,到處運(yùn)行”……好吧,它只是“應(yīng)該”工作,但是以防萬一,您可以嘗試使用與在openshift上運(yùn)行的JDK版本相同的JDK版本來編譯您的應(yīng)用程序。 趕緊跑 java -version java version "1.6.0_22" OpenJDK Runtime Environment (IcedTea6 1.10.6) (rhel-1.43.1.10.6.el6_2-i386) OpenJDK Server VM (build 20.0-b11, mixed mode) 并在您的包裝盒上安裝相同的jdk版本。 然后編譯您的應(yīng)用并重新部署(您可以使用便捷腳本openshift_deploy ) 如果那不起作用,請嘗試在Openshift上手動完成整個過程。 您應(yīng)該執(zhí)行以下操作: # download play cd ${OPENSHIFT_DATA_DIR} curl -o play-2.0.1.zip http://download.playframework.org/releases/play-2.0.1.zip unzip play-2.0.1.zip cd ${OPENSHIFT_REPO_DIR}#stop app .openshift/action_hooks/stop#clean everything - watch for errors, if it fails retry a couple more times ${OPENSHIFT_DATA_DIR}play-2.0.1/play clean 如果您得到類似的信息: /var/lib/stickshift/0b542570e41b42e5ac2a255c316871bc/myapp/data/play-2.0.1/framework/build: line 11: 27439 Killed 這意味著它不幸失敗了(這是我告訴過您的內(nèi)存問題) 這是一個很糟糕的錯誤,您還會松開命令提示符。 只要盲目地輸入“ reset”,然后按Enter,您將得到提示。 然后再試一次... 您可能還會收到以下消息: This project uses Play 2.0! Update the Play sbt-plugin version to 2.0.1 (usually in project/plugins.sbt) 這意味著您使用Play 2.0創(chuàng)建了該應(yīng)用程序,現(xiàn)在正嘗試使用其他版本進(jìn)行編譯。 只需更新project / plugins.sbt文件或下載適當(dāng)?shù)陌姹尽? 現(xiàn)在編譯并上演您的應(yīng)用程序。 #compile everything - watch for errors, if it fails retry a couple more times ${OPENSHIFT_DATA_DIR}play-2.0.1/play compile#stage - watch for errors, if it fails retry a couple more times ${OPENSHIFT_DATA_DIR}play-2.0.1/play stage 然后運(yùn)行它(不要害羞,看看quickstart repo上的action hooks腳本 )。 target/start -Dhttp.port=8080 -Dhttp.address=${OPENSHIFT_INTERNAL_IP} -Dconfig.resource=openshift.conf 去https://myapp-mylogin.rhcloud.com檢查一下 如果一切正常,只需使用ctrl-c停止它,然后運(yùn)行: .openshift/action_hooks/start 您應(yīng)該在控制臺中看到帶有日志文件的應(yīng)用程序 現(xiàn)在,您可以使用ctrl-d從ssh會話注銷,然后發(fā)出: rhc app restart -a myapp -l mylogin@openshift.com -p mysecretpass 你應(yīng)該看到類似 Stopping play application Trying to kill proccess, attempt number 1 kill -SIGTERM 19128 /var/lib/stickshift/0b542570e41b42e5ac2a255c316871bc/openbafici/repo/target/start "-DapplyEvolutions.default=true" -Dhttp.port=8080 -Dhttp.address=127.11.189.129 -Dconfig.resource=openshift.conf Play server process ID is 21226 [info] play - Application started (Prod) [info] play - Listening for HTTP on port 8080... 希望本技巧對您有所幫助。 正如我所說的,我很期待開始使用Openshift Origin livecd,然后再告訴您。 在此期間,我將陪伴您與舊式Openshift火箭熊一起,我知道您也很想念他,那么為什么不讓他回來呢? 參考:我們的JCG合作伙伴 Sebastian Scarano在Openshift 上的Playshift上對Play Framework 2應(yīng)用程序進(jìn)行故障排除 ,并與Play框架一起玩樂! 博客。
翻譯自: https://www.javacodegeeks.com/2012/05/troubleshooting-play-framework-2-apps.html
openshift s2i
總結(jié)
以上是生活随笔為你收集整理的openshift s2i_对Openshift上的Play Framework 2应用进行故障排除的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓出的手机叫什么名字(安卓出的手机)
- 下一篇: openjpa_以编程方式向OpenJP