weblogic配置节点管理器
2020-07-29 本文已影响0人
卑微幻想家
创建计算机
-
进入计算机菜单,点击新建
-
填写计算机名称以及系统类型
-
下一步,类型选择普通,填写ip,以及监听端口,点击完成
- 使创建生效,点击激活更改
配置服务器关联计算机
-
进入服务器菜单,将需要分配计算机的服务器关闭,然后点击服务器名,进入配置页面。
-
点击锁定并编辑,选择要分配的计算机,点击保存,并激活更改。
配置节点管理器
- 进入受管服务器(配置计算机所在的服务器)的
/app/weblogic/Oracle/Middleware/wlserver_10.3/common/bin
目录。执行以下命令。
./wlst.sh
- 执行完1后会来到
wls:/offline>
下,然后输入
connect()
- 此时会依次要求输入AdminServer(主控节点)的用户名、密码及url如下
Please enter your username [weblogic] :weblogic
Please enter your password [weblogic] :
Please enter your server URL [t3://localhost:7001] :t3://adminServerIP:port
- 如果第三步执行成功则会提示
Successfully connected to Admin Server 'AdminServer' that belongs to domain 'rule-AdminServer'.
如果第4步执行不成功,会返回第3步重新输入connect()
此时也可输入dumpStack()
回车,查看具体错误
- 第4步执行成功后,在
wls:/rule-AdminServer/serverConfig>
下依次执行
nmEnroll('/app/weblogic/Oracle/Middleware/wlserver_10.3/common/nodemanager')
nmEnroll('/app/weblogic/Oracle/Middleware/user_projects/domains/rule-subServer')
这里的domian目录是受管节点目录
- 注册成功后,按ctrl+c返回weblogic目录,再到
/app/weblogic/Oracle/Middleware/wlserver_10.3/server/bin
目录下,启动节点管理器
./startNodeManager.sh
出现INFO: Secure socket listener started on port 5556
并且没有报错即启动成功,然后按ctrl+c
停止节点管理器,这里启动一次只是为了帮助我们生成一些配置文件,接下来我们就去修改一些配置。
- 进入
/app/weblogic/Oracle/Middleware/wlserver_10.3/common/nodemanager
目录,修改nodemanager.properties
。
SecureListener=false
StartScriptEnabled=true
- 再次启动节点管理器
cd /app/weblogic/Oracle/Middleware/wlserver_10.3/server/bin
nohup ./startNodeManager.sh &
-
查看节点管理器是否可用,进入weblogic控制台,进入计算机菜单,点击计算机名称,然后点击监视,如果为可访问,即配置成功
启动服务
-
进入服务器菜单,选择需启动的服务器,点击启动
这时会发现启动失败。
查看启动日志,发现如下异常
<Jul 29, 2020 11:16:23 AM CST> <Notice> <WebLogicServer> <BEA-000330> <Started WebLogic Managed Server "rule-subServer3" for domain "rule-AdminServer"
running in Production Mode>
<Jul 29, 2020 11:16:23 AM CST> <Error> <Cluster> <BEA-000110> <Multicast socket receive error: java.net.SocketException: Socket closed
java.net.SocketException: Socket closed
at java.net.PlainDatagramSocketImpl.receive0(Native Method)
at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:145)
at java.net.DatagramSocket.receive(DatagramSocket.java:725)
at weblogic.cluster.MulticastFragmentSocket.receive(MulticastFragmentSocket.java:239)
at weblogic.cluster.FragmentSocketWrapper.receive(FragmentSocketWrapper.java:98)
Truncated. see log file for complete stacktrace
>
<Jul 29, 2020 11:16:23 AM CST> <Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason:
There are 1 nested errors:
java.io.IOException: Invalid argument
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(DatagramSocket.java:625)
at weblogic.cluster.MulticastFragmentSocket.sendThrottled(MulticastFragmentSocket.java:206)
at weblogic.cluster.MulticastFragmentSocket.send(MulticastFragmentSocket.java:158)
at weblogic.cluster.FragmentSocketWrapper.send(FragmentSocketWrapper.java:91)
at weblogic.cluster.MulticastSender.fragmentAndSend(MulticastSender.java:395)
at weblogic.cluster.MulticastSender.send(MulticastSender.java:178)
at weblogic.cluster.AttributeManager.sendAttributes(AttributeManager.java:46)
at weblogic.cluster.OutboundService.start(OutboundService.java:35)
at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:263)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
>
<Jul 29, 2020 11:16:23 AM CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FAILED>
<Jul 29, 2020 11:16:23 AM CST> <Error> <WebLogicServer> <BEA-000383> <A critical service failed. The server will shut itself down>
为解决这个问题,需要修改一下脚本。
- 进入
/app/weblogic/Oracle/Middleware/user_projects/domains/rule-subServer/bin
目录,修改setDomainEnv.sh
文件。
在JAVA_OPTIONS="${JAVA_OPTIONS} ${enableHotswapFlag} -ea -da:com.bea... -da:javelin... -da:weblogic... -ea:com.bea.wli... -ea:com.bea.broker... -ea:com.bea.sbconsole...
后面增加-Djava.net.preferIPv4Stack=true
以及在JAVA_OPTIONS="${JAVA_OPTIONS} ${enableHotswapFlag} -da
后面增加-Djava.net.preferIPv4Stack=true
最终效果如下
"${debugFlag}" = "true" ] ; then
JAVA_DEBUG="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=${DEBUG_PORT},server=y,suspend=n -Djava.compiler=NONE"
export JAVA_DEBUG
JAVA_OPTIONS="${JAVA_OPTIONS} ${enableHotswapFlag} -ea -da:com.bea... -da:javelin... -da:weblogic... -ea:com.bea.wli... -ea:com.bea.broker... -ea:com.bea.sbconsole...-Djava.net.preferIPv4Stack=true"
export JAVA_OPTIONS
else
JAVA_OPTIONS="${JAVA_OPTIONS} ${enableHotswapFlag} -da -Djava.net.preferIPv4Stack=true"
export JAVA_OPTIONS
- 重新在控制台启动服务器,大功告成。