当前位置:文档之家› exiting process

exiting process

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日志,发现如下内容
<[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:

https://www.doczj.com/doc/e39446724.html,.SocketOutputStream.socketWrite0(Native Method)

https://www.doczj.com/doc/e39446724.html,.SocketOutputStream.socketWrite(SocketOutputStream.java:103)

……

<[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:

https://www.doczj.com/doc/e39446724.html,.SocketOutputStream.socketWrite0(Native Method)

https://www.doczj.com/doc/e39446724.html,.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补丁。
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
项目上线后出现宕机和线程挂起现象。经过诊断和排查最终解决了该问题.

宕机和线程挂起的现象描述如下:

1.WebLogic启动后,10-30分左右 就会挂起,控制台无法访问。

2.应用程序web App 无法访问,程序无法执行。

问题原因如下:

[IBM 的JVM底层socket实现和Weblogic配合的问题,weblogic在IBM JVM上存在已久的BUG,需要打weblogic Patch才可以解决.]

服务器信息如下:

[Aix 5.3 WebLogic 10.0.1.0]

补丁jar包:[CR370915_1030GA.jar] (收费软件, 需要weblogic提供售后服务,涉及版权,所以不提供下载.)

修改方法:

该补丁包的readme文件中建议将该包放到每一个domain下,及放到weblogic 的每一个单独的域中,这样可以做到域与域之间互不影响。

1.将补丁包放在 WebLogicpath/yourdomain/lib 目录下.(我本地的地址是:/weblogic/user_projects/domains/zsi_test/lib)

2.修改当前域(domain)下的环境变量设置.编辑该shell文件:webLogicpath/yourdomain/bin/setDomainEnv.sh

找到如下代码:

CLASSPATH=”${CLASSPATH}${CLASSPATHSEP}${MEDREC_WEBLOGIC_CLASSPATH}”

修改后如下:

CLASSPATH=”${DOMAIN_HOME}/lib/CR370915_AIX_SR7_patch.jar:

${CLASSPATH}${CLASSPATHSEP}${MEDREC_WEBLOGIC_CLASSPATH}”

将补丁包的路径放在最前面即可.

3.以上操作仅对当前domain起作用.

4.重新启动weblogic即可.

详细bug跟踪调试和相关信息请参考:http://www.hashei.me/tag/cr370915

------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
办法一是需要降低JDK版本,现在用的JDK为1.4.2(SR13),需要降低到1.4.2(SR5)到1.4.2(SR10)之间的版本;
办法二是需要安装weblogic的一个补丁jar包(8179792_81sp6.jar),这个JAR包是weblogic收费的jar包,涉及到版权问题,网上找不到。


相关主题
文本预览
相关文档 最新文档