Weblogic常见报错以及解决方法[转载]
最近组织内部进行安全升级,由于目前所接触的项目均使用weblogic中间件部署,出现了一系列问题小问题,再此转载一下常见的错误处理方式以便后续查询。转载 追风若水:https://my.oschina.net/u/4581716/blog/4375014
前言:Oracle WebLogic中间件在网站部署过程中经常会使用到。该产品系列的核心是Oracle WebLogic服务器,它是一个功能强大和可扩展的Java EE服务器。今天整理了在运维过程中经常会遇到的各种报错以及解决方法,纯技术干货,希望能够对正在学习weblogic过程中的您提供帮助。
weblogic有两种部署方式,单点模式和集群模式,单点模式直接创建一个域,在控制台进行程序部署即可;而集群模式分为admin(管理)节点和Managed(被管理)节点,管理节点通过控制台对被管节点进行管理,程序部署在被管节点的集群上。不论是单点模式,还是集群模式,常见的报错基本一致。
基本概念
Domain :
域是作为单元进行管理的一组相关的 WebLogic Server 资源。一个域包含一个或多个 WebLogic Server 实例,这些实例可以是集群实例、非群集实例,或者是集群与非群集实例的组合。一个域可以包含多个集群。域还包含部署在域中的应用程序组件、此域中的这些应用程序组件和服务器实例所需的资源和服务。应用程序和服务器实例使用的资源和服务示例包括计算机定义、可选网络通道、连接器和启动类。
Domain 中包含一个特殊的 WebLogic 服务器实例,叫做 Administration Server,这是我们配置管理Domain中所有资源的核心。通常,我们称加入Domain中的其他实例为 Managed Server,所有的Web应用、EJB、Web Services和其他资源都部署在这些服务器上。
Administration Server :
管理服务器是控制整个域配置的中心操作节点,管理服务器维护着整个域 的配置并将配置分配到每个被管理服务器 Managed Server 中。我们可以通过三个渠道访问管理服务器:Admin Server console、Oracle WebLogic Scripting Tool WLST、JMX客户端(通过WebLogic提供的API来实现),最后我们还可以通过SNMP协议来监控Admin Server的状态。
Managed Server :
被管理服务器是一个WebLogic Server的实例,他从Admin Server那里获取配置信息。通常在Managed Server上部署自己的服务、组件或应用。基于性能考虑,Managed Server维护着一份只读的域配置文件,当服务启动的时候,会从Admin Server上同步配置文件信息,如果配置文件发生了改变,Admin Server也会将改变推送到Managed Server上。
下面我们看看常见的weblogic报错,weblogic的日志中,我们可以通过BEA开头的报错code进行问题查找。
- 管理节点报错BEA-000386
通过nohup ./startWebLogic.sh &命令启动管理节点后,tail -f nohup.out查看日东日志,发现日志上存在BEA-000386报错,具体日志如下:
<2019-10-12 下午05时22分21秒 CST> <Notice> <WebLogicServer> <BEA-0OO365> <Server state changed to STARTING>
<2019-10-12 下午05时22分21秒 CST> <Info> <WorkManager> <BEA-002900> initializing self-tuning thread poo1>
<2019-10-12 下午05时22分21秒 CST> <Notice> <Log Management <BEA-170019> <The server log file /weblogic/user_projects/domains/admindoiiiain/servers/AdminServer/logs/AdminServer.log is opened. All ;erver side log events will be written to this file.>
<2019-10-12 下午05时22分22秒 CST> <Critical> <WebLogicServer> <BEA-000386> <Server subsystem failed. Reason: java.lang.AssertionError: Could not obtain the localhost address. The most likely cause is an error in the network configuration of this machine.
<Notice> <Log Management <BEA-170019> <The server log file java.lang.AssertionError: Could not obtain the localhost address. The most likely cause is an error in the network configuration of this machine.
at weblogic.server.channels.AddressUtils$AddressMaker.getLocalHost(AddressUtils.java:38)
at weblogic.server.channels.AddressUtils$AddressMaker.<clinit>(AddressUtils.java:33)
at weblogic.server.channels.AddressUtils.getIPAny(AddressUtils.java:154)
at weblogic.protocol.configuration.ChannelHelper.checkConsistency(ChannelHelper.java:61)
at weblogic.server.channels.ChannelService.start(ChannelService.java:207)
Truncated. see log file for complete stacktrace
Caused By: java.net.UnknownHostException: weblogic1: weblogic1
at java.net.InetAddress.getLocalHost(InetAddress.java:1360)
at weblogic.server.channels.AddressUtils$AddressMaker.getLocalHost(AddressUtils.java:36)
at weblogic.server.channels.AddressUtils$AddressMaker.<clinit>(AddressUtils.java:33)
at weblogic.server.channels.AddressUtils.getIPAny(AddressUtils.java:154)
at weblogic.protocol.configuration.ChannelHelper.checkConsistency(ChannelHelper.java:61)
Truncated. see log file for complete stacktrace
>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
<2019-10-12 下午05时22分22秒 CST>
<2019-10-12 下午05时22分22秒 CST>
原始配置:
[root@weblogic1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
增加主机名和eth0对应关系,修改如下:
[root@weblogic1 ~]# cat /etc/hosts
127.0.0.1 localhost
192.168.101.2 weblogic1
::1 localhost
再次重启管理节点,正常启动
2.Managed节点BEA-141196报错
使用命令nohup ./startManagedWebLogic.sh webserver01 http://10.199.132.12:8801 &启动被管节点,webserver01 为被管节点服务名,出现BEA-141196报错。
.security.allowCryptoJDefaultPRNG=true>
<Dec 8, 2018 3:55:38 PM PST> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) 64-Bit Server VM Version 20.45-b01 from Sun Microsystems Inc.>
java.io.IOException: [DeploymentService:290066]Error occurred while downloading files from admin server for deployment request "1,544,313,339,787". Underlying error is: "null"
at weblogic.deploy.service.datatransferhandlers.HttpDataTransferHandler.getDataAsStream(HttpDataTransferHandler.java:86)
at weblogic.deploy.service.datatransferhandlers.DataHandlerManager$RemoteDataTransferHandler.getDataAsStream(DataHandlerManager.java:165)
at weblogic.deploy.internal.targetserver.datamanagement.ConfigDataUpdate.doDownload(ConfigDataUpdate.java:75)
at weblogic.deploy.internal.targetserver.datamanagement.DataUpdate.download(DataUpdate.java:56)
at weblogic.deploy.internal.targetserver.datamanagement.Data.prepareDataUpdate(Data.java:97)
at weblogic.management.provider.internal.RuntimeAccessDeploymentReceiverService.downloadFiles(RuntimeAccessDeploymentReceiverService.java:920)
at weblogic.management.provider.internal.RuntimeAccessDeploymentReceiverService.updateFiles(RuntimeAccessDeploymentReceiverService.java:879)
at weblogic.management.provider.internal.RuntimeAccessDeploymentReceiverService.handleRegistrationResponse(RuntimeAccessDeploymentReceiverService.java:728)
at weblogic.management.provider.internal.RuntimeAccessDeploymentReceiverService.registerHandler(RuntimeAccessDeploymentReceiverService.java:699)
at weblogic.management.provider.internal.RuntimeAccessDeploymentReceiverService.start(RuntimeAccessDeploymentReceiverService.java:169)
at weblogic.t3.srvr.ServerServicesManager.startService(ServerServicesManager.java:462)
at weblogic.t3.srvr.ServerServicesManager.startInStandbyState(ServerServicesManager.java:167)
at weblogic.t3.srvr.T3Srvr.initializeStandby(T3Srvr.java:883)
at weblogic.t3.srvr.T3Srvr.startup(T3Srvr.java:570)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:471)
at weblogic.Server.main(Server.java:71)
<Dec 8, 2018 3:55:40 PM PST> <Error> <Management> <BEA-141196> <The managed server could not update the configuration files during the registration with the deployment service. The update failed due to an exception:
weblogic.management