最近在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的默认配置如下:
DomainsFile=/home/weblogic/Oracle/Middleware/Oracle_Home/oracle_common/common/nodemanager/nodemanager.domains
LogLimit=0
PropertiesVersion=12.1.3
DomainsDirRemoteSharingEnabled=false
AuthenticationEnabled=true
JavaHome=/usr/java/jdk1.8.0_31
LogLevel=INFO
DomainsFileEnabled=true
ListenAddress=127.0.0.1
NativeVersionEnabled=true
ProcessDestroyTimeout=20000
ListenPort=5556
weblogic.StartScriptName=startWebLogic.sh
LogToStderr=true
SecureListener=true
LogCount=1
LogAppend=true
weblogic.StopScriptEnabled=false
StateCheckInterval=500
CrashRecoveryEnabled=false
weblogic.StartScriptEnabled=true
LogFile=/home/weblogic/Oracle/Middleware/Oracle_Home/oracle_common/common/nodemanager/nodemanager.log
coherence.StartScriptEnabled=false
LogFormatter=weblogic.nodemanager.server.LogFormatter
ListenBacklog=50
我们在受管服务器下面启动nodeManager时可能会提示说某某domain不存在的情况,这个时候就需要我们手动的在nodeManager的home目录下的nodeManager.domains文件中来指定对应的domain的路径,格式为:domainName=domainPath。