存档

2009年4月 的存档

一次因为系统参数而导致的WAS无响应

2009年4月30日 admin 1 条评论

最近一个项目在做压力测试的时候,压力测试人员设置完脚本运行8小时后,第二天总会发现虽然脚本运行正常,但是有一个节点上的Server没有相应。查看日志说日志没有任何报错,记录的最后一条总是前一天的半夜。因为半夜正好是做批处理的时候,一开始怀疑是否是这导致的宕机,但是停掉批处理程序后依旧发生这种现象(而且是在下班时刻发生),也就排除了这个可能。

下面是我的排错经过:

查看无法提供服务的app2的systemout.log日志,发现从昨天晚上5点09分后,没有新的日志输出。最后的日志为

[4/15/09 17:09:28:193 GMT+08:00] 00000953 IncidentStrea W com.ibm.ws.ffdc.IncidentStreamImpl write FFDC0013I: FFDC failed to write to incident stream file /was/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/ffdc/APP2_44ca44ca_09.04.15_17.09.28_0.txt, caught exception java.lang.NullPointerException

 

查看system.err文件,没有发现有价值的内容

于是查看ffdc目录下的17:09生成的日志,在APP2_7b2c7b2c_09.04.15_17.09.27_0.txt中发现有Stack Dump = javax.imageio.IIOException: Can’t create output stream!信息。

在APP2_2e542e54_09.04.15_17.09.27_1.txt中发现有Caused by: [SOAPException: faultCode=SOAP-ENV:Client; msg=Error opening socket: java.net.SocketException: Too many open files; targetException=java.lang.IllegalArgumentException: Error opening socket: java.net.SocketException: Too many open files]

 

于是使用ulimit –a命令查看AIX的limit参数

APP2:/was/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/ffdc#ulimit -a
time(seconds) unlimited
file(blocks) 2097151
data(kbytes) 131072
stack(kbytes) 32768
memory(kbytes) 32768
coredump(blocks) 2097151
nofiles(descriptors) 2000

 

发现一个进程可以打开的最大文件数为2000.

用ps –ef | grep java命令找到app2的sid,然后用procfiles sid命令查看app2的进程现在打开了多少文件

APP2:/was/IBM/WebSphere/AppServer/profiles/AppSrv01/bin#procfiles 815304

815304 : /was/IBM/WebSphere/AppServer/java/bin/java -Declipse.security -Dwas.status.sock

Current rlimit: 2000 file descriptors

………………

1993: S_IFREG mode:0444 dev:10,15 ino:160745 uid:0 gid:0 rdev:0,0

O_RDONLY size:15694

1994: S_IFREG mode:0444 dev:10,15 ino:160745 uid:0 gid:0 rdev:0,0

O_RDONLY size:15694

1995: S_IFREG mode:0444 dev:10,15 ino:160745 uid:0 gid:0 rdev:0,0

O_RDONLY size:15694

1999: S_IFREG mode:0444 dev:10,15 ino:164300 uid:0 gid:0 rdev:0,0

O_RDONLY size:1042

打开文件数已经到达2000,于是app2无法创建新的systemout.log日志文件,也就无法再提供服务。

由此分析得AIX的nofiles参数对于websphere来说不够大(对于Hp-ux,安装前调整系统参数时就需要把maxfiles调整为8192,但是AIX内核是自调整,所以IBM安装要求上没有提到需要手动修改什么参数)特别是在压力测试时候,短时间内的积累可能会达到2000的限制,实际生产环境中也可能会遇到如此情况,当然集群中另外一台APP跑的好好的也挺让人奇怪。

接下来就是调整ulimit中的nofiles限制到4096,然后重启nodeagent,再由控制台重启app即可。当然也可以直接用命令重启app,但是因为nodeagent没有重启过,环境变量没有生效,下次在控制台中重启app后nofiles依旧会被限制在2000。

Websphere入门篇(三)-建立连接池

2009年4月28日 admin 没有评论

1        WebSphere配置

1.1      通过 http://hostname:9060/admin进入Websphere 管理控制台,并用管理员用户登录

1.2      设置Oracle驱动环境变量(针对Oracle数据库)

1.2.1   将oracle的java驱动ojdbc14.jar复制到…/WebSphere/AppServer/lib/ext目录中。

1.2.2   修改数据库驱动环境变量

Ø        进入”环境àWebSphere变量”

Ø        修改ORACLE JDBC DRIVER PATH,值为1.2.1节中ojdbc14.jar 所在的目录,使用绝对路径。

Ø        确定并保存

1.3      新建J2C认证数据

Ø        进入”安全性——安全管理、应用程序和基础结构—— Java 认证和授权服务(JAAS)——J2C认证数据”

Ø        新建一个认证数据条目

Ø        别名为:取一个容易记住的,假设为bm1

Ø        用户标识为:  数据库连接用户

Ø        密码为:  数据库连接密码

1.4      新建JDBC提供者

Ø        进入”资源——JDBC——JDBC提供程序”

Ø        选择合适的作用域,一般选择server1

Ø        新建JDBC提供程序

Ø        数据库类型为:oracle

Ø        提供者类型为:Oracle JDBC Driver

Ø        实施类型为:连接池数据源

Ø        名称为:oracle92

Ø        点击下一步

Ø        类路径为:${ORACLE JDBC DRIVER PATH}/ojdbc14.jar

Ø        下一步

Ø        完成并保存

1.5      新建数据源

Ø        进入”资源——JDBC——数据源”

Ø        选择合适的作用域,一般选择server1(根据你要发布的Server来)

Ø        新建数据源

Ø        名称为:随便起

Ø        JNDI名称为:jdbc/需要使用的jndi name

Ø        组件管理的认证别名为:hostnameNode01/ bm1(还记得之前建立的J2C别名么)

Ø        下一步

Ø        选择刚才建立的JDBC提供程序,

Ø        设置URL:jdbc:oracle:thin:@ip:1521:sid

Ø        下一步

Ø        确定并保存

Ø        选择刚刚建立的数据源,测试连接,看看是否正常

Websphere入门篇(二)-为WAS打上补丁

2009年4月28日 admin 没有评论

        上篇文章中安装了Websphere单机环境,那么接下来第一件事不是配置WAS,不是发布应用,而是要打上补丁(特别是新环境)。如果是老系统迁移的话,可以不用打最新的补丁,只要让现在的平台版本和之前运行正常平台版本一致即可,以免引入新的问题。

         首先去http://www-933.ibm.com/support/fixcentral/找到自己需要的补丁,Production Group为Websphere,Product为WAS,指定版本号和平台,搜索出Fixpack。

         这里以6.1.0.23: WebSphere Application Server V6.1 Fix Pack 23 for Windows为例讲述打补丁步骤。

         首先看到一个Update Installer 7.0 for WebSphere Software for Windows,这个是补丁升级程序,从6.1之后所有的补丁(包括7.0)都要考它来升级。安装CD2中会带有这个程序,但是那个版本太低对6.1.0.6之后的补丁无法直接使用。所以先要安装这个打补丁程序。

          Websphere的补丁有WAS—IHS—PlugIn和SDK,根据你的安装拓扑和需要可以分别打,但是一般全都保持一致的版本。下载的pak文件放到Update Installer安装后的maintenance目录下。

          之后运行update installer即可,选定安装补丁的目录:AppServer对应WAS补丁,Http目录对于ihs补丁,plugins目录对应plugins补丁。每次都会自动找到相应的两个pak文件(一个程序的,一个JDK的)。全部安装完,那就OK了,在bin目录下执行versioninfo看看吧。

          WAS6.0的时候打补丁没有那么方便,先要打6.0.2的补丁,顺序为WAS—IHS—PlugIn,然后再打6.0.2之后的小补丁,也是按照WAS—IHS—PlugIn的顺序来。而且那时候还没有UpdateInstaller,每个补丁都需要各自独立安装。不过你可以把对应的PAK文件找出来,拷贝到UpdateInstaller的maintenance下去,节省一点体力活。

Exchange2003启用OWA修改密码功能

2009年4月24日 admin 没有评论

第1步 域环境的搭建

1.1 域的设置

域名:sjj.gov.cn

提供的DNS:IP

1.1.1 DC

IP地址:IP

主机名:mail

clip_image002

第2步 Exchange的搭建

Exchange安装在DC上,F:programme file目录下,邮箱存储在G盘下,每个用户邮箱大小限制为1G。

2.1 安装必须的系统组件

安装IIS、NNTP、SMTP、及万维网服务和ASP.NET.在控制面板的【添加删除程序】里选择【添加删除Windows组件】

clip_image003

clip_image004

2.2 安装exchange

clip_image006

点击“Exchange部署工具”

下一步中选择“部署第一台Exchange 2003服务器”

继续选择“安装全新的Exchange 2003”

直至出现“安装任务列表”

clip_image008

2.2.1 森林拓展

点击“立即运行 ForestPrep”

clip_image009

一直下一步直至完成。

2.2.2 域拓展

点击“立即运行Domain Prep”

clip_image010

一路下一步直至完成。

2.2.3 安装Exchange

点击“立即运行安装程序”

clip_image011

选择新建Exchange组织,并输入组织名称sjj。指定管理组名称sjj,并单击下一步开始安装

clip_image012

安装完成

2.2.4 启用邮箱

为用户启用邮箱,在AD的用户和管理中选中用户,右键——exchange任务——启用邮箱——选择第一存储组和邮箱SJJ

2.3 为OWA启用修改密码

阅读全文…

Windows 2003 AD 域名更改

2009年4月24日 admin 没有评论

简要步骤:

1. 在DNS上建立新的域名的DNS区域

2. 提升域和森林的运行功能级别到2003纯模式

3. 建立必要的信任关系(此处这回不用做)

4. 对DC做好备份

5. 登录一台非域控但加入域的成员机,进行如下改名操作。

6. rendom /list 在该工具文件夹下产生 domainlist.xml 文件

7. 编辑domainlist.xml文件,将所有原域名改为新域名

8. rendom /upload,产生dclist.xml

9. rendom /prepare,检查此前操作是否正确,操作是否成功,不对的话rendom /end

10. rendom /execute ,所有域控重启

11. 登录域控,更改域控的DNS名称

12. random /clean,清楚域中的老域名

13. gpfixup /olddns:** /newdns:** (/oldnb:** /newnb:** /dc:**)括号内的视情况可以省略

集群配置

1. 在DNS中添加集群虚拟IP的主机解析

2. 修改Cluster Service的启动帐号

阅读全文…

分类: Windows 2003 标签: ,

Websphere入门篇(一)-was6.0安装

2009年4月24日 admin 8 条评论

 本文是Windows环境下websphere6.0单机环境的安装详细步骤,Linux和Unix下安装亦可参考,不过注意系统参数的调整。

WebSphere6.1的安装过程和6.0大同小异,这里就没有列出,可以到我的Google Docs查看

http://docs.google.com/fileview?id=F.97cf8c0b-5f02-4601-a317-a8a75284253f&hl=en

———————— 下面正式开始——————————

1. 开始安装IBM WebSphere Application Server Network Deployment V6

插入光盘或运行安装介质,进入安装向导

clip_image002

2.接受协议

clip_image004

3.检查条件 安装程序将自动检测是否具备安装WAS6的条件

注:此处安装Windows2003 sp2补丁后会报操作系统补丁缺失(sp1),很明显不用在意。

clip_image006

4.选择安装目录

这里指定的目录为E:\Program Files\IBM\WebSphere\AppServer

clip_image008

5.安装如下功能部件(样本服务器通常不安装)

clip_image010

6.安装摘要

总大小800M左右

clip_image012

单击下一步开始安装

6.安装完成,选择启动概要表创建向导来创建profiles。(或者进入安装目录的/bin下,进入ProfileCreator运行pctWindows.exe)

阅读全文…