weblogic報錯BEA-000388解決服務程式異常消失問題

jaymarco發表於2020-11-09

1、問題描述

運維同事反饋說運營系統weblogic服務程式異常退出,最後導致HA自動切換,切換過程失敗導致檔案系統無法掛起,weblogic和DB無法正常啟動。

2、故障分析

中介軟體工程師在故障時間點:2017-01-10 17:26分左右,巡檢了三套domain環境,最終在rpsdomain域下面的Adminserver.log日誌中找到了服務被異常退出的資訊,Adminserver無法正常啟動,呼叫<BEA-000388> <JVM called WLS shutdown hook的原因,最終weblogic程式啟動不來,於是HA的程式會呼叫weblogic自檢指令碼發現服務無法正常啟動後,會自動切換HA到備機器。

####<2017-1-10 下午 05 26 48 CST> <Notice> <WebLogicServer> <njycxk1> <AdminServer> <Thread-1> <<WLS Kernel>> <> <> <1484040408882> <BEA-000388> <JVM called WLS shutdown hook. The server will force shutdown now>

####<2017-1-10 下午 05 26 48 CST> <Alert> <WebLogicServer> <njycxk1> <AdminServer> <Thread-1> <<WLS Kernel>> <> <> <1484040408883> <BEA-000396> <Server shutdown has been requested by <WLS Kernel>>

####<2017-1-10 下午 05 26 48 CST> <Notice> <WebLogicServer> <njycxk1> <AdminServer> <Thread-1> <<WLS Kernel>> <> <> <1484040408885> <BEA-000365> <Server state changed to FORCE_SUSPENDING>

####<2017-1-10 下午 05 26 48 CST> <Info> <Diagnostics> <njycxk1> <AdminServer> <Thread-1> <<WLS Kernel>> <> <> <1484040408922> <BEA-320002> <The Diagnostics subsystem is stopping on Server AdminServer.>

####<2017-1-10 下午 05 26 48 CST> <Info> <WebService> <njycxk1> <AdminServer> <Thread-1> <<WLS Kernel>> <> <> <1484040408931> <BEA-220028> <Web Service reliable agents are suspended.>

####<2017-1-10 下午 05 26 48 CST> <Info> <WebService> <njycxk1> <AdminServer> <Thread-1> <<WLS Kernel>> <> <> <1484040408932> <BEA-220029> <Web Service reliable agents are shut down.>

####<2017-1-10 下午 05 26 48 CST> <Info> <SAFService> <njycxk1> <AdminServer> <Thread-1> <<WLS Kernel>> <> <> <1484040408933> <BEA-281004> <SAF Service has been suspended.>

3、故障原因

本身weblogic不會自己停止,它是收到停止的訊號才自己關閉的。通常情況下,產生JVM called WLS shutdown hook的原因是應用的程式碼中呼叫了System.exit()方法,觸發了weblogic停止。導致weblogic服務啟動失敗,最終導致HA切換到備機失敗。其實WebLogic中沒有任何程式碼會呼叫System.exit()方法,建議檢查應用程式程式碼,以及引用的第三方類庫中是否有可能呼叫到System.exit()方法。關於JVM called WLS shutdown hook的原因是偶發性的產生,定不會時刻呼叫。

4、故障解決

1、需要開發確認應用程式和第三方類庫是否引用了System.exit()方法,如果有引用,建議去掉此方法。如果開發也不知道,建議開啟weblogic的trace跟蹤,但trace一開啟會刷很多日誌出來會影響磁碟IO讀寫。

2、ORACLE官方也提供了規避方法那就是在weblogic中加上-Xrs引數,可以避免這個問題
5、參考資料

Error: "BEA-000388 JVM called WLS shutdown hook. The server will force shutdown now" when BI_Server1 Shuts Down. (文件 ID 1321815.1)

BEA-000388: JVM called WLS shutdown hook. The server will force shutdown now. (文件 ID 1626472.1)




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28833846/viewspace-2732931/,如需轉載,請註明出處,否則將追究法律責任。

相關文章