(轉) Weblogic在Linux上節點服務器啟動正常,計算機連接不上


               對於服務器AdminServer, 與計算機Machine-0相關聯的節點管理器無法訪問。
               所有所選服務器當前都處於與此操作不兼容的狀態, 或未與運行的節點管理器關聯, 或沒有授權您執行請求的操作。不會執行任何操作
               次錯誤基本都遇到過。在網上搜了半天,最后才解決,基本如下:
               對於服務器server-1與計算機machine-2相關聯的節點管理器無法訪問

         一、對於managedServer於adminServer在同一服務器上的情況:
                1、在控制台可查看該機器的節點管理器端口,比如為5556
                2、用netstat -nap | grep 5556命令查看端口為5556的進程是否存在便知nodemanager是否已啟動,這時肯定是不存在的
                3、但是用ps -ef |grep java命令查看進程,可看到NodeManager進程
                4、用kill -9 NodeManager進程號
                5、vi /etc/hosts查看ip地址配置是否正確
                6、vi /etc/sysconfig/network查看機器名配置是否正確
                7、vi $WL_HOME/common/nodemanager/nodemanager.properties查看以下配置是否正確,這里的端口5556就與上文提到的端口一致,如果端口不對可能是因為在前一                          次nodemanager起來之后,在控制台修改了端口,而在nodemanager.properties文件中保存的還是原端口,所以當再次啟動nodemanager時,啟動的端口不是修改后的 而是原來的。
                 ListenPort=5556
                 SecureListener=false
                 StartScriptEnabled=true

因為本人在操作的時候 沒有遇到第二種情況 因此順便記錄一下

 1 二、如果AdminServer在服務器A上,ManagedServer在服務器B上的情況:
 2 這時候不能啟動nodemanager還可能是因為服務器B無法與服務器A通訊,這時候會報socket相關錯誤。此時,
 3 1、在B服務器上修改$WL_HOME/common/nodemanager/nodemanager.properties文件:
 4 SecureListener=false
 5 StartScriptEnabled=true
 6 2、在B上$WL_HOME/common/bin/目錄下執行wlst.sh腳本
 7 ./wlst.sh即可
 8 3、執行完2后會來到wls:/offline>下,在此輸入connect()回車
 9 4、此時會依次要求輸入AdminServer的用戶名、密碼及url如下
10 Please enter your username [weblogic] :weblogic
11 Please enter your password [weblogic] :
12 Please enter your server URL [t3://localhost:7001] :t3://adminServerIP:port
13 以上三項指服務器A上登錄控制台時的用戶名、密碼及IP地址和端口
14 5、如果第4步執行成功,則顯示
15 Successfully connected to Admin Server 'AdminServer' that belongs to domain 'my_domain'.
16 會跳到wls:/my_domain/serverConfig>
17 my_damain指服務器A上的domain
18 如果第4步執行不成功,會返回第3步重新輸入connect()
19 此時也可輸入dumpStack()回車,查看具體錯誤
20 6、第5步執行成功后,在wls:/my_domain/serverConfig>下依次執行
21 nmEnroll('/home/weblogic/Oracle/Middleware/wlserver_10.3/common/nodemanager')
22 nmEnroll('/home/weblogic/Oracle/Middleware/user_projects/domains/server_b_domain')
23 這里的weblogic目錄指服務器B上的weblogic目錄,視自己的目錄修改語句。
24 7、注冊成功后,按ctrl+c返回weblogic目錄,再到$WL_HOME/servers/bin目錄下
25 nohup ./startNodeManager.sh &啟動nodemanager
26 如果啟動時報以下錯誤
27 嚴重: Fatal error in node manager server
28 java.net.BindException: Address already in use
29 at java.net.PlainSocketImpl.socketBind(Native Method)
30 at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
31 at java.net.ServerSocket.bind(ServerSocket.java:319)
32 at java.net.ServerSocket.<init>(ServerSocket.java:185)
33 at weblogic.nodemanager.server.Listener.init(Listener.java:54)
34 at weblogic.nodemanager.server.NMServer.start(NMServer.java:205)
35 at weblogic.nodemanager.server.NMServer.main(NMServer.java:355)
36 at weblogic.NodeManager.main(NodeManager.java:31)
37              說明前面以執行過該語句,此時需要殺掉nodemanager的進程號再次執行啟動語句。
38              補充:節點管理器類型可選擇"普通"。
View Code

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

                最近在Linux上的Weblogic上創建自己的Machine時,發現監控的nodeManager的狀態一直是異常的。經查找資料發現,在啟動nodeManager時使用到的配置中默認是啟用了安全訪問協議的,即SecureListener=true。而在創建Machine的時候選擇了通信方式為普通,這樣兩者就連接不上了,所以本次出現的問題其實就是兩者之間使用的協議不一致導致的,只要保證兩者之間的通信協議一致即可。即如果使用默認配置時在建立Machine時需要選擇通信方式為SSL

         在Linux上啟動nodeManager的指令路徑是$WL_HOME/wlserver/server/bin/startNodeManager.sh。其使用的默認的nodeManager的home目錄是$WL_HOME/oracle_common/common/nodemanager,在其中有一個nodemanager.properties文件,其就是調用startNodeManager.sh時默認使用的配置文件。在我的機器上nodemanager.properties的默認配置如下:

 1 DomainsFile=/home/weblogic/Oracle/Middleware/Oracle_Home/oracle_common/common/nodemanager/nodemanager.domains
 2 
 3 LogLimit=0
 4 
 5 PropertiesVersion=12.1.3
 6 
 7 DomainsDirRemoteSharingEnabled=false
 8 
 9 AuthenticationEnabled=true
10 
11 JavaHome=/usr/java/jdk1.8.0_31
12 
13 LogLevel=INFO
14 
15 DomainsFileEnabled=true
16 
17 ListenAddress=127.0.0.1
18 
19 NativeVersionEnabled=true
20 
21 ProcessDestroyTimeout=20000
22 
23 ListenPort=5556
24 
25 weblogic.StartScriptName=startWebLogic.sh
26 
27 LogToStderr=true
28 
29 SecureListener=true
30 
31 LogCount=1
32 
33 LogAppend=true
34 
35 weblogic.StopScriptEnabled=false
36 
37 StateCheckInterval=500
38 
39 CrashRecoveryEnabled=false
40 
41 weblogic.StartScriptEnabled=true
42 
43 LogFile=/home/weblogic/Oracle/Middleware/Oracle_Home/oracle_common/common/nodemanager/nodemanager.log
44 
45 coherence.StartScriptEnabled=false
46 
47 LogFormatter=weblogic.nodemanager.server.LogFormatter
48 
49 ListenBacklog=50
View Code

       我們在受管服務器下面啟動nodeManager時可能會提示說某某domain不存在的情況,這個時候就需要我們手動的在nodeManager的home目錄下的nodeManager.domains文件中來指定對應的domain的路徑,格式為:domainName=domainPath


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM