obsession-with-the-young-monk

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进行问题查找。

  1. 管理节点报错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.DeploymentException: Exception occured while downloading files
        at weblogic.deploy

分类:

技术点:

相关文章: