http://www.hashei.me/2009/05/tuning-the-ibm-jdk.html
weblogic的集群很早以前做过,当时写了一份文档,最近真好又有机会实验了Weblogic 10.3的集群配置,两相比较,同时对照着文档过了一遍,确定下文对weblogic9和10都适用。截了图也方便新手学习。
环境
平台:两台Windows 2003 SP2(SP版本要一样),必须位于同一网段,并且必须是IP广播(UDP)可到达的
软件:Weblogic9.1
拓扑
在A机上建立一个Administrator Server,作为管理节点;在AB机上分别建立Managed Server,加入集群appCluster,作为应用程序的运行环境;在B机上分别建立Proxy Server,作为提供外部访问的服务地址。
机器 配置信息 角色 备注
app1 IP:*.*.*.* PORT:7001 AdminServer 管理服务器
app1 IP: *.*.*.*PORT:7002 Managed Server 受管服务器
app2 IP: *.*.*.*PORT:7002 Managed Server 受管服务器
app2 IP: *.*.*.*PORT:80 Proxy Server 代理服务器
安装过程
在机器A上
创建新的Domain
选择“Tool- Configuration Wizard”,单击“下一步”按钮
选择安装域源
选择安装“WebLogic Server”,单击“下一步”按钮
配置管理员用户名和密码
输入Weblogic管理员管理服务器(AdminServer)的用户名和密码,在此以“weblogic”作用登录管理服务器的用户名和密码,单击“下一步”按钮
阅读全文…
作者: admin分类: weblogic, 中间件标签: 安装, 集群
Weblogic10.3.0在AIX6.1、JDK1.6下挂起解决方法
2009年8月25日157 Views4 条评论
上周在AIX6.1下安装weblogic10.3.0,并配置了hacmp集群环境,但是接下来的几天遇到了挂起问题,为此还加班了一天。
现象描述:
Weblogic启动后,10到30分钟就会hang住,应用和管理控制台都无法访问。强制kill -9 pid后端口无法释放,使用rmsock 命令查看端口显示Wait for exiting processes to be cleaned up before removing the socket。
分析及处理过程
1. 用ps –ef | grep java找到weblogic进程,每隔三分种执行kill -3 pid,在domain目录下生成javacore文件
2. 分析weblogic日志,发现如下内容
<Aug 21, 2009 4:33:37 AM CDT> <Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: ‘1′ for queue: ‘weblogic.kernel.Default (self-tuning)’ has been busy for “620″ seconds working on the request
“weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl@20de20de”, which is more than the configured time (StuckThreadMaxTime) of “600″ seconds. Stack trace:
java.net.SocketOutputStream.socketWrite0(Native Method)
java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:103)
……
<Aug 21, 2009 4:34:37 AM CDT> <Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: ‘1′ for queue: ‘weblogic.kernel.Default (self-tuning)’ has been busy for “680″ seconds working on the request
“weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl@20de20de”, which is more than the configured time (StuckThreadMaxTime) of “600″ seconds. Stack trace:
java.net.SocketOutputStream.socketWrite0(Native Method)
java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:103)
……
3. 用IBM Thread and Monitor Dump Analyzer for java分析刚才生成的thread dump,找到如下两个线程信息:
3XMTHREADINFO “[ACTIVE] ExecuteThread: ‘5′ for queue: ‘weblogic.kernel.Default (self-tuning)’” TID:0×39CBED00, j9thread_t:0×3751C83C, state:R, prio=5
3XMTHREADINFO1 (native thread ID:0xCE1DB, native priority:0×5, native policy:UNKNOWN)
4XESTACKTRACE at java/net/PlainSocketImpl.socketClose0(Native Method)
4XESTACKTRACE at java/net/PlainSocketImpl.socketPreClose(PlainSocketImpl.java:706)
4XESTACKTRACE at java/net/PlainSocketImpl.close(PlainSocketImpl.java:540)
4XESTACKTRACE at java/net/SocksSocketImpl.close(SocksSocketImpl.java:1041)
4XESTACKTRACE at java/net/Socket.close(Socket.java:1343)
4XESTACKTRACE at weblogic/socket/SocketMuxer.closeSocket(SocketMuxer.java:475)
4XESTACKTRACE at weblogic/socket/SocketMuxer.cancelIo(SocketMuxer.java:813)
4XESTACKTRACE at weblogic/socket/SocketMuxer$TimerListenerImpl.timerExpired(SocketMuxer.java:1021(Compiled Code))
4XESTACKTRACE at weblogic/timers/internal/TimerImpl.run(TimerImpl.java:273(Compiled Code))
4XESTACKTRACE at weblogic/work/SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516(Compiled Code))
4XESTACKTRACE at weblogic/work/ExecuteThread.execute(ExecuteThread.java:201(Compiled Code))
4XESTACKTRACE at weblogic/work/ExecuteThread.run(ExecuteThread.java:173)
3XMTHREADINFO “ExecuteThread: ‘7′ for queue: ‘weblogic.socket.Muxer’” TID:0×35381D00, j9thread_t:0×35385864, state:R, prio=5
3XMTHREADINFO1 (native thread ID:0xB916F, native priority:0×5, native policy:UNKNOWN)
4XESTACKTRACE at weblogic/socket/PosixSocketMuxer.poll(Native Method)
4XESTACKTRACE at weblogic/socket/PosixSocketMuxer.processSockets(PosixSocketMuxer.java:102(Compiled Code))
4XESTACKTRACE at weblogic/socket/SocketReaderRequest.run(SocketReaderRequest.java:29)
4XESTACKTRACE at weblogic/socket/SocketReaderRequest.execute(SocketReaderRequest.java:42)
4XESTACKTRACE at weblogic/kernel/ExecuteThread.execute(ExecuteThread.java:145)
4XESTACKTRACE at weblogic/kernel/ExecuteThread.run(ExecuteThread.java:117)
4. 执行线程只有这两个是running状态,一个做CLOSE(),一个做POLL()。别的都是blocked或者wait状态。
5. 经过metalink查询以及和800支持人员确认,这是Weblogic在AIX的JVM上由来已久的bug,从8.1.4就开始在不同版本间出现。原因是IBM的JVM底层socket实现和weblogic配合问题,需要打patch CR370915_1030GA.jar解决。
操作过程
1.在weblogic的启动脚本中,找到CLASSPATH一行
2.在CLASSPATH变量的第一位添加补丁jar包
Eg: CLASSPATH=”${CLASSPATH}${CLASSPATHSEP}${MEDREC_WEBLOGIC_CLASSPATH}”
—>
CLASSPATH=/路径/CR370915_1030GA.jar:”${CLASSPATH}${CLASSPATHSEP}${MEDREC_WEBLOGIC_CLASSPATH}”
3.以上操作仅对这个domain起作用,为了对所有domain起作用,可以添加到common/bin/的目录中的commEnv.sh文件中WEBLOGIC_CLASSPATH=最前面
总结
这个bug在weblgoic和IBM的JVM相组合的平台上出现较为普遍,如果出现相关日志信息,基本可以断定需要打CR370915补丁。
分享到:
相关推荐
WebLogic集群安装配置手册主要涵盖了在Linux环境下搭建WebLogic集群的详细步骤,旨在为IT同行提供一个简单易懂的安装指南。以下是对整个过程的详细解释: 1. **WebLogic域创建及配置** - **进入域配置目录**:首先...
在本文档中,我们将深入探讨Oracle RAC(Real Application Clusters)和WebLogic集群的安装、配置与部署过程。Oracle RAC是一种高可用性解决方案,可使多台服务器共享同一数据库,提供故障切换和负载均衡能力。...
Weblogic的集群配置涉及到多台机器的协同工作,需要正确配置网络和集群参数,如集群监听地址、端口、集群成员等信息。 7. 配置Machines和Server: Machines是集群中物理或虚拟服务器的抽象表示,而Server则是在...
总的来说,WebLogic集群配置涉及到多个层面,包括物理布局、逻辑结构和资源分配。理解并熟练掌握这些概念和配置步骤是构建高可用、高性能的Web应用程序基础设施的关键。通过有效的集群配置,企业可以有效地处理高...
总的来说,Linux下Weblogic 9的集群配置是一个复杂但至关重要的过程,需要对网络、操作系统、Web服务器和Java EE概念有深入理解。正确的配置能大大提高服务的可用性和性能,同时降低单点故障的风险,确保业务的连续...
- **域、Server和集群配置**:根据提示创建域(例如`wssb_domain`)、选择运行模式(生产模式)、配置管理服务器(默认端口7001)和受管理服务器。为每个服务器指定监听地址和端口。 集群部署的关键在于正确配置...
本文主要介绍WebLogic集群的概念、配置过程和管理方法,希望能为需要了解或实施WebLogic集群的朋友们提供图文并茂的实用指南。 一、WebLogic集群概念及区别 WebLogic集群主要通过多个服务器实例共同工作,来提供...
### WebLogic 安装、集群配置与数据源配置详解 #### 一、WebLogic 安装准备 在开始WebLogic的安装之前,确保满足以下前提条件: 1. **确认JDK已经安装:** WebLogic Server运行环境需要一个兼容的JDK版本。确保...
总结来说,WebLogic集群的安装配置涉及用户和组创建、软件安装、域类型选择、服务器节点配置、数据源设置等多个环节,每一步都需要谨慎操作,以确保集群的稳定运行。在配置过程中,应密切注意错误提示,及时解决出现...
### Weblogic 10集群配置详解 #### 一、预备知识 **Domain与Server概念解析** 在WebLogic Server中,Domain被定义为基本管理单元,它由一个或多个WebLogic Server实例组成,其中至少包含一个作为管理员Server的...
WebLogic集群配置与部署是企业级Java应用服务器中的一项关键技术,主要用于提高应用程序的可用性、可伸缩性和性能。WebLogic Server是Oracle公司提供的一个成熟的中间件平台,支持高并发、分布式处理以及故障转移等...
在实际操作中,理解WebLogic集群配置的细节至关重要,包括但不限于JDBC数据源、JMS队列和主题的集群配置,以及安全性、监控和日志记录等方面的设置。同时,了解如何管理和维护集群状态,处理可能出现的故障,也是...
### Weblogic 10.3 集群配置详解 #### 一、预备知识 **1.1 何为 Domain 和 Server** - **Domain**:WebLogic Server 的基本管理单元,一个 Domain 包含了一个或多个 WebLogic Server 实例,其中至少包含一个管理...
WebLogic 10 集群配置手册详细介绍了如何在WebLogic Server 10环境中设置和管理集群。集群是将多个服务器实例组织在一起,以提供高可用性、可伸缩性和资源共享,确保应用程序的持续运行和服务质量。以下是对手册内容...
### WebLogic详细安装部署流程 #### 一、安装前准备 ...通过以上步骤,你可以顺利完成WebLogic的安装和配置,以及应用程序的部署。在整个过程中,需要注意细节,确保每一步都按照正确的顺序进行。
【Linux环境WebLogic集群配置详解】 在Linux操作系统中配置WebLogic集群是一项关键任务,它涉及到分布式系统的高可用性和性能优化。WebLogic Server是一款由Oracle公司提供的企业级Java应用服务器,常用于部署和...
### WebLogic 集群配置图文教程 #### 一、管理服务器与受管服务器在同一台机器上的配置方式 ##### 步骤1:登录WebLogic控制台 - 首先,确保您已安装了WebLogic,并能成功登录到WebLogic控制台。 ##### 步骤2:...