1. 程式人生 > >WAS 節點不同步解決辦法一

WAS 節點不同步解決辦法一

錯誤現象:

1、
啟動應用的時候特別慢,報“可能已經啟動成功,但沒有在預定的時間啟動完成,詳情請參考日誌xxx”。
2、 
“企業級應用程式”下應用的狀態好像不對,在WebSphere企業應用程式中啟動起來的應用在這裡仍然是“紅X”狀態。
3、
系統管理下的節點狀態不對,同步節點後仍然顯示未同步。
4、
部署新應用後啟動時,會報
[12-4-11 20:08:07:127 CST] 0000002b DefaultTokenP I   HMGR0149E: 嘗試開啟到核心組 DefaultCoreGroup 的連線被拒絕。傳送程序的名稱為 fqztestapCell01\fqztestapCellManager01\dmgr 且 IP 地址為 /172.18.251.23。本地程序中的全域性安全性為 Disabled。傳送程序中的全域性安全性為 Enabled。接收到的標記以 ?0G??????+?Qe?? 開頭。異常為 <null>。
[12-4-11 20:20:40:736 CST] 00000017 AdminHelper   A   ADMN1009I: 嘗試啟動 rews_message_parse 應用程式。
[12-4-11 20:20:40:740 CST] 00000017 ApplicationMg W   WSVR0215W: 啟動應用程式 rews_message_parse 失敗。尚未安裝該應用程式。
[12-4-11 20:42:21:326 CST] 00000016 AdminHelper   A   ADMN1009I: 嘗試啟動 rews_message_parse 應用程式。
[12-4-11 20:42:21:330 CST] 00000016 ApplicationMg W   WSVR0215W: 啟動應用程式 rews_message_parse 失敗。尚未安裝該應用程式。

但實際部署的整個過程中,日誌沒有報錯且控制檯上提示部署成功。

----------------

很遺憾,做開發這麼久,對WAS卻是如此陌生,最近老碰到WAS節點不同步問題,導致所有應用都不能正常部署,總結了以下這個解決辦法,分享於此。。。

------------
Was控制檯節點顯示同步狀態不正常,無法完成同步,問題解決如下:
一、
切換到bin目錄下,執行相應命令,依次停止 server 、 node 、dmgr(嚴格按照此順序)
/opt/IBM/WebSphere/AppServer/profiles/AppSrv02/bin/stopServer.sh  server1 --servername

/opt/IBM/WebSphere/AppServer/profiles/AppSrv02/bin/stopNode.sh

/opt/IBM/WebSphere/AppServer/bin/stopManager.sh

二、刪除 wstemp, temp 和 config/temp 資料夾下面的臨時檔案
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/temp、wstemp、tranlog目錄下內容刪除。
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/temp目錄下內容刪除。

四、同步節點:
##同步節點資訊
切換到“/opt/IBM/WebSphere/AppServer/profiles/AppSrv02/bin/”下:
執行 :syncNode.sh fqztestap 8879 -username appname -password 000000

------------
其中 “fqztestap”是was所部署在的主機名,linux/unix 下用“uname -all”獲取
比如我執行 “uname -all ”後,顯示:
Linux fqztestap 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linux
第二項即為主機名
------------

五、依次啟動 dmgr、node、server (嚴格按照此順序)

/opt/IBM/WebSphere/AppServer/bin/startManager.sh

/opt/IBM/WebSphere/AppServer/profiles/AppSrv02/bin/startNode.sh

/opt/IBM/WebSphere/AppServer/profiles/AppSrv02/bin/startServer.sh  server1 --servername