weblogic 节点管理器无法启动起来的问题,所选服务器当前都处于与此操作不兼容的状态

最近在一台新的电脑上安装weblogic,创建了新的server,但是一直无法启动,一直报下面这个错误:

对于服务器test-server, 与计算机java相关联的节点管理器无法访问。
消息图标 - 警告 所有所选服务器当前都处于与此操作不兼容的状态, 或未与运行的节点管理器关联, 
或没有授权您执行请求的操作。不会执行任何操作。

配置计算机、创建server,百度上有很多,直接开始解决这个问题。

首先查看nohup日志:

Oracle_Home/wlserver/server/bin/startNodeManager.sh: [[: not found
Oracle/Middleware/Oracle_Home/wlserver/server/bin/startNodeManager.sh: 151: Oracle_Home/wlserver/server/bin/startNodeManager.sh: [[: not found

这是第一个问题,打开startNodeManager.sh:

WL_HOME="/home/nyl/Oracle/Middleware/Oracle_Home/wlserver"

NODEMGR_HOME="/home/nyl/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/nodemanager"
export NODEMGR_HOME

DOMAIN_HOME="/home/nyl/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain"

JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.RootDirectory=${DOMAIN_HOME} "
export JAVA_OPTIONS

#  Set JAVA_HOME for node manager

. ${DOMAIN_HOME}/bin/setNMJavaHome.sh

#  start node manager

${WL_HOME}/server/bin/startNodeManager.sh

发现真正运行的是【${WL_HOME}/server/bin/startNodeManager.sh】这个文件,找到这个文件,打开之后,146行和151行:

if [[ "$JAVA_OPTIONS" != *"-Dweblogic.RootDirectory"* ]]; then
  # it is global NM
  JAVA_OPTIONS="-Dweblogic.RootDirectory=${NODEMGR_HOME} ${JAVA_OPTIONS}"
fi    

if [[ "$JAVA_OPTIONS" != *"-Djdk.tls.ephemeralDHKeySize"* ]]; then
  # Set default size of ephemeral Diffie-Hellman keys to 2048 bits
  JAVA_OPTIONS="-Djdk.tls.ephemeralDHKeySize=2048 ${JAVA_OPTIONS}"
fi

结合错误信息可以看到,错误的原因为使用[[ ]]用来做正则包含判断,而我执行脚本的时候用的是【./】,不支持这种语法,修改一下【Oracle_Home/user_projects/domains/base_domain/bin/startNodeManager.sh】文件,改成下面:

JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.RootDirectory=${DOMAIN_HOME} "
export JAVA_OPTIONS

#  Set JAVA_HOME for node manager

. ${DOMAIN_HOME}/bin/setNMJavaHome.sh

#  start node manager

bash ${WL_HOME}/server/bin/startNodeManager.sh

重新执行脚本【Oracle_Home/user_projects/domains/base_domain/bin/startNodeManager.sh】

bash startNodeManager.sh

从执行日志上已经看不到上面那个错误了。

这时候再起启动server,还是报这个错误:

对于服务器test-server, 与计算机java相关联的节点管理器无法访问。
消息图标 - 警告 所有所选服务器当前都处于与此操作不兼容的状态, 或未与运行的节点管理器关联, 
或没有授权您执行请求的操作。不会执行任何操作。

因为网上找到的博客,大多都是某个人博客被转来转去,对我的问题没有什么帮助,所以又去我启动的weblogic中看节点管理器的状态,因为启动没有报错,我认为此时节点管理器的状态应该是正确的状态,但是却是下面这个状态:

weblogic 节点管理器无法启动起来的问题,所选服务器当前都处于与此操作不兼容的状态_第1张图片
看到这里,就明白世界上节点管理器还是没有正确启动,此时启动的日志已经没有报错了,那只能是配置的问题了,
找到节点管理器的配置文件【Oracle_Home/user_projects/domains/base_domain/nodemanager/nodemanager.properties】,打开:

DomainsFile=/home/nyl/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/nodemanager/nodemanager.domains
LogLimit=0
PropertiesVersion=12.2.1.3.0
AuthenticationEnabled=true
NodeManagerHome=/home/nyl/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/nodemanager
JavaHome=/usr/share/java/jdk8
LogLevel=INFO
DomainsFileEnabled=true
ListenAddress=localhost
NativeVersionEnabled=true
ListenPort=5556
LogToStderr=true
weblogic.StartScriptName=startWebLogic.sh
SecureListener=true
LogCount=1
QuitEnabled=false
LogAppend=true
weblogic.StopScriptEnabled=false
StateCheckInterval=500
CrashRecoveryEnabled=false
weblogic.StartScriptEnabled=true
LogFile=/home/nyl/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/nodemanager/nodemanager.log
LogFormatter=weblogic.nodemanager.server.LogFormatter
ListenBacklog=50

去掉明显不会有问题的配置,比如端口、路径等,只剩下这些:

NativeVersionEnabled=true
SecureListener=true
QuitEnabled=false
weblogic.StopScriptEnabled=false
CrashRecoveryEnabled=false

逐一尝试相反的配置,最终找到【SecureListener=true】这个配置,把这个配置改成false,重新启动nodemanager,再次查看节点管理器状态:
weblogic 节点管理器无法启动起来的问题,所选服务器当前都处于与此操作不兼容的状态_第2张图片

启动server,成功。

记录一下,帮助自己、帮助别人。

你可能感兴趣的:(错误积累)