sunqiang1024
作者sunqiang1024·2010-10-10 20:48
测试工程师·星网锐捷

2010年国庆,我与案例分享有个约会(杂谈)

字数 19617阅读 10103评论 0赞 5
我的这些可能和专家的水平还有一定的差距,但是这些都是我在工作中总结的积累的,^_^
1、集群安装
i. 安装JDK。
ii. 启动WAS ND安装程序launchpad.bat。
iii. 安装完成后点击下一步启动概要表创建向导。
iv. 选择第一项,创建管理端,下一步。
v. 安装完成后,进入profile目录,选择相应的Dmgr名称,启动cmd,在里面输入C:NDWebSphereAppServerprofilesDmgrdemobin>startManager.bat,启动WAS的控制台。
vi. 在IE中输入http://192.168.40.138:9062/ibm/console,打开WAS ND的控制台。
vii. 再启动AppServer,启动cmd,进入AppServer的bin目录,使用>addNode.bat 192.168.40.138 8879(Dmgr的IP和SOAP端口),添加改Server的节点。
viii. 在控制台->服务器->集群,点击新建按钮,输入集群名称,下一步,可以使用默认的Server名字,也可以另起名称,点击下一步后,点击完成按钮。
ix. 进入到AppServer的bin目录,使用>startNode.bat,启用节点服务。
x. 进入控制台,在控制台->服务器->集群,选择集群名称后,在选择集群成员,启动相应的Server即可。
2、单机安装
i. 安装JDK。
ii. 启动WAS安装程序launchpad.bat。
iii. 选择WebSphere Application Server安装。
iv. 选择完整安装,点击安装按钮进行安装。
v. 安装完成后,进入profile目录,选择相应的AppServer名称,启动cmd,在里面输入C:WebSphereAppServerprofilesdefaultbin>startServer.bat server1,启动WAS的控制台。
vi. 在IE中输入http://192.168.40.138:9060/ibm/console,打开WAS控制台。
3、WebSphere安全性
i. 在WAS控制台选择系统管理->控制台设置,先新建控制台组,组名:Administrators,权限:管理员,然后在新建控制台用户,用户名:Administrators ,权限:管理员。
ii. 在WAS控制台选择安全性->全局安全性->用户注册表->本地 OS 用户注册表, 服务器用户标识:Administrators服务器用户密码:123456。
iii. 在全局安全性页面,勾选启用全局安全性,注意:要取消勾选强制 Java 2 安全性。
iv. 保存应用,重启服务,登录时就需要输入用户名和密码。
4、WAS6.1升级
1、到IBM websphere官方网站下载相应版本的更新包,如6.1.0-WS-WASSDK-WinX32-FP0000021.pak和6.1.0-WS-WAS-WinX32-FP0000021.pak;
2、下载并安装websphere安装更新程序updateinstall,如download.updii.61019.windows.ia32.zip解压安装,注意安装这个程序需要在JDK1.4的环境下;
3、再把这两个更新包拷贝到updateinstall_homemaintenance 下,运行更新程序出现图形界面,会自动识别到更新包进行安装。
注意:安装更新的时候要关闭websphere服务
5、WAS内存修改
修改应用程序服务器 > server1 > 进程定义 > Java 虚拟机:初始堆大小:1024 最大堆大小:1536
D:web_serverwebsphere6.1.0WebSphereAppServerprofilesAppSrv_630configcellsmocha17206Node03Cellnodesmocha17206Node02serversserver1 server.xml :maximumHeapSize=1536 initialHeapSize=1024
6、线程池的修改
应用程序服务器 > server1 > Web 容器 > 会话管理 > 分发环境设置 > Web 容器传输链 > 定制属性 > 线程池 > WebContainer:最小大小:200最大大小:300
7、Solaris上File.createNewFile时出现java.io.UnixFileSystem.createFileExclusively的问题
问题解决:是 Web 应用程序在启动时需要在/var/tmp/下创建Cache文件,而刚好有其它的用户原来也在C机与D机上部署过应用程序,于是后来部署的用户权限就不对了,于是发生错误了。
总结:需要是当前用户有权限写入的目录才可以,另外如果不是在已有目录下创建,也有可能发生错误,需要先File.mkdirs一下才行。
8、利用wsadmin生成javacore,heapdump文件
一、生成javacore文件
安装目录WebSphereAppServerbinwsadmin.bat
输入命令  wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]          
输入命令  wsadmin>$AdminControl invoke $jvm dumpThreads
安装目录WebSphereAppServerprofilesdefault下生成javacore文件(例:javacore.20090804.111947.2632.txt)
用javacore文件分析器对javacore文件进行分析
cd /d javacore文件分析器放置路径>java –Xmx1000m –jar jca31.jar
 
二、生成heapdump文件
安装目录WebSphereAppServerbinwsadmin.bat
输入命令  wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process=server1,*]
输入命令  wsadmin>
$AdminControl invoke $objectName generateHeapDump
安装目录WebSphereAppServerprofilesdefault下生成HeapDump文件(例:heapdump.20090804.113353.2632.phd)
用heapdump文件分析器对heapdump文件进行分析
cd /d heapdump文件分析器放置路径>java –Xmx1000m –jar ha33.jar
9、怎样修改heapdump和javacore文件自动生成的路径
1、修改系统环境变量,如:
设置Windows的环境变量,使WAS JVM在产生javacore的同时产生HeapDump文件(缺省只会产生 javacore)。点击windows桌面->鼠标右键-属性-进入系统属性对话框-进入高级页面-点击环境变量-在系统变量中-分别加入以下变量名和变量值
变量名 变量值
IBM_HEAPDUMP true
IBM_HEAP_DUMP true
IBM_HEAPDUMPDIR c:
2、在was控制台修改server中的参数
Servers > Application Servers >server_name> Java and Process Management > Process Definition > Environment Entries > New
IBM_HEAPDUMP   true
IBM_HEAP_DUMP   true
IBM_HEAPDUMPDIR   <your_directory>
IBM_JAVACOREDIR   <your_directory>
IBM_HEAPDUMP_OUTOFMEMORY   true
IBM_JAVADUMP_OUTOFMEMORY   true
IBM_JAVA_HEAPDUMP_TEXT   true
10、安装部署报错
************ Start Display Current Environment ************
Host Operating System is AIX, version 5.3
Java version = J2RE 1.4.2 IBM AIX build ca142sr1w-20041028 (JIT enabled: jitc), Java Compiler = jitc, Java VM name = Classic VM
was.install.root = /opt/IBM/WebSphere/App
user.install.root = /opt/IBM/WebSphere/App/profiles/AppSrv630
Java Home = /opt/IBM/WebSphere/App/java/bin/../jre
ws.ext.dirs = /opt/IBM/WebSphere/App/java/lib:/opt/IBM/WebSphere/App/classes:/opt/IBM/WebSphere/App/lib:/opt/IBM/WebSphere/App/installedChannels:/opt/IBM/WebSphere/App/lib/ext:/opt/IBM/WebSphere/App/web/help:/opt/IBM/WebSphere/App/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime:/usr/mqm/java/lib:/usr/opt/wemps/lib
Classpath = /opt/IBM/WebSphere/App/profiles/AppSrv630/properties:/opt/IBM/WebSphere/App/properties:/opt/IBM/WebSphere/App/lib/bootstrap.jar:/opt/IBM/WebSphere/App/lib/j2ee.jar:/opt/IBM/WebSphere/App/lib/lmproxy.jar:/opt/IBM/WebSphere/App/lib/urlprotocols.jar:/opt/IBM/WebSphere/App/optionalLibraries/jython.jar
Java Library path = /opt/IBM/WebSphere/App/java/bin/../jre/bin:/opt/IBM/WebSphere/App/java/jre/bin/classic:/opt/IBM/WebSphere/App/java/jre/bin:/usr/lib
Current trace specification = *=info
************* End Display Current Environment *************
[09-10-10 15:31:17:247 GMT+08:00] 0000000a ManagerAdmin  I   TRAS0017I: 启动跟踪状态是 *=info。
[09-10-10 15:31:18:374 GMT+08:00] 0000000a AbstractShell A   WASX7326I: 已装入属性文件“/opt/IBM/WebSphere/App/profiles/AppSrv630/properties/wsadmin.properties”
[09-10-10 15:31:20:524 GMT+08:00] 0000000a AbstractShell A   WASX7093I: 发出消息:“WASX7023E: 创建与主机“localhost”的“SOAP”连接时出错;异常信息:com.ibm.websphere.management.exception.ConnectorNotAvailableException: com.ibm.websphere.management.exception.ConnectorNotAvailableException: java.net.UnknownHostException: localhost”
[09-10-10 15:31:20:611 GMT+08:00] 0000000a AbstractShell E   WASX7120E: 来自有文本“com.ibm.websphere.management.exception.ConnectorException
java.lang.reflect.InvocationTargetException: java.lang.reflect.InvocationTargetException
”的异常的诊断信息如下:
com.ibm.websphere.management.exception.ConnectorException: ADMC0016E: 系统无法创建 SOAP 连接器以连接到端口 28880 上的主机 localhost。
 at com.ibm.websphere.management.AdminClientFactory.createAdminClient(AdminClientFactory.java:320)
 at com.ibm.ws.scripting.CommonScriptingObject.connectToAdminService(CommonScriptingObject.java:120)
 at com.ibm.ws.scripting.CommonScriptingObject.<init>(CommonScriptingObject.java:101)
 at com.ibm.ws.scripting.AdminControlClient.<init>(AdminControlClient.java:156)
 at com.ibm.ws.scripting.AbstractShell.createControlClient(AbstractShell.java:912)
 at com.ibm.ws.scripting.AbstractShell.run(AbstractShell.java:1615)
 at com.ibm.ws.scripting.WasxShell.main(WasxShell.java:842)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
 at java.lang.reflect.Method.invoke(Method.java:391)
 at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:190)
Caused by: java.lang.reflect.InvocationTargetException
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:80)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:44)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:315)
 at com.ibm.websphere.management.AdminClientFactory.createAdminClient(AdminClientFactory.java:269)
 ... 12 more
Caused by: com.ibm.websphere.management.exception.ConnectorNotAvailableException: com.ibm.websphere.management.exception.ConnectorNotAvailableException: java.net.UnknownHostException: localhost
 at com.ibm.ws.management.connector.soap.SOAPConnectorClient.reconnect(SOAPConnectorClient.java:328)
 at com.ibm.ws.management.connector.soap.SOAPConnectorClient.<init>(SOAPConnectorClient.java:227)
 ... 17 more
Caused by: com.ibm.websphere.management.exception.ConnectorNotAvailableException: java.net.UnknownHostException: localhost
 at com.ibm.ws.management.connector.soap.SOAPConnectorClient.getUrl(SOAPConnectorClient.java:1036)
 at com.ibm.ws.management.connector.soap.SOAPConnectorClient.access$200(SOAPConnectorClient.java:85)
 at com.ibm.ws.management.connector.soap.SOAPConnectorClient$2.run(SOAPConnectorClient.java:299)
 at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
 at com.ibm.ws.management.connector.soap.SOAPConnectorClient.reconnect(SOAPConnectorClient.java:292)
 ... 18 more
Caused by: java.net.UnknownHostException: localhost
 at java.net.InetAddress.getAllByName0(InetAddress.java:1089)
 at java.net.InetAddress.getAllByName0(InetAddress.java:1054)
 at java.net.InetAddress.getAllByName(InetAddress.java:1048)
 at com.ibm.ws.management.connector.soap.SOAPConnectorClient.getUrl(SOAPConnectorClient.java:1034)
 ... 22 more
[09-10-10 15:31:20:615 GMT+08:00] 0000000a AdminControlC W   WASX7072E: 控制服务不可用。
[09-10-10 15:31:20:771 GMT+08:00] 0000000a AdminConfigCl W   WASX7198W: 配置服务不在运行。配置命令将不会运行。
[09-10-10 15:31:20:938 GMT+08:00] 0000000a AdminConfigCl A   WASX7208I: 现在有效的验证设置:级别=HIGHEST,交叉验证=true,输出文件=/opt/IBM/WebSphere/App/profiles/AppSrv630/logs/wsadmin.valout
[09-10-10 15:31:21:120 GMT+08:00] 0000000a AdminAppClien W   WASX7072E: 控制服务不可用。
[09-10-10 15:31:26:520 GMT+08:00] 0000000a AdminAppClien W   WASX7206W: 应用程序管理服务不在运行。应用程序管理命令将不会运行。
[09-10-10 15:31:26:648 GMT+08:00] 0000000a AdminCmdClien W   WASX7198W: 配置服务不在运行。配置命令将不会运行。
[09-10-10 15:31:26:768 GMT+08:00] 0000000a AdminCmdClien W   WASX8011W: AdminTask 对象不可用。
[09-10-10 15:31:28:353 GMT+08:00] 0000000a AbstractShell A   WASX7303I: 下列无法识别的选项传递到脚本编制环境并作为 argv 可用:“[p5510-2Node01Cell, p5510-2Node01, server1, /opt/IBM/SunWAS630]”
[09-10-10 15:31:28:357 GMT+08:00] 0000000a AbstractShell A   WASX7091I: 执行脚本:“/opt/IBM/SunWAS630/jacl/setjvm.jacl”
[09-10-10 15:31:28:843 GMT+08:00] 0000000a AbstractShell E   WASX7120E: 来自有文本“com.ibm.ws.scripting.ScriptingException: WASX7070E: 配置服务不可用。
”的异常的诊断信息如下:
com.ibm.ws.scripting.ScriptingException: WASX7070E: 配置服务不可用。
 at com.ibm.ws.scripting.AbstractShell.setAndThrowScriptingException(AbstractShell.java:1338)
 at com.ibm.ws.scripting.AdminConfigClient.checkService(AdminConfigClient.java:2155)
 at com.ibm.ws.scripting.AdminConfigClient.getid(AdminConfigClient.java:2181)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
 at java.lang.reflect.Method.invoke(Method.java:391)
 at tcl.lang.reflect.PkgInvoker.invokeMethod(PkgInvoker.java:125)
 at tcl.lang.JavaInvoke.call(JavaInvoke.java:263)
 at tcl.lang.JavaInvoke.callMethod(JavaInvoke.java:121)
 at tcl.lang.ReflectObject.cmdProc(ReflectObject.java:914)
 at tcl.lang.Parser.evalObjv(Parser.java:818)
 at tcl.lang.Parser.eval2(Parser.java:1221)
 at tcl.lang.Parser.evalTokens(Parser.java:1001)
 at tcl.lang.Parser.eval2(Parser.java:1208)
 at tcl.lang.Procedure.cmdProc(Procedure.java:161)
 at tcl.lang.Parser.evalObjv(Parser.java:818)
 at tcl.lang.Parser.eval2(Parser.java:1221)
 at tcl.lang.Interp.eval(Interp.java:2189)
 at tcl.lang.Interp.eval(Interp.java:2273)
 at tcl.lang.IfCmd.cmdProc(IfCmd.java:68)
 at tcl.lang.Parser.evalObjv(Parser.java:818)
 at tcl.lang.Parser.eval2(Parser.java:1221)
 at tcl.lang.Interp.eval(Interp.java:2189)
 at tcl.lang.Interp.eval(Interp.java:2243)
 at com.ibm.bsf.engines.jacl.JaclEngine.eval(Unknown Source)
 at com.ibm.bsf.util.BSFEngineImpl.exec(Unknown Source)
 at com.ibm.bsf.BSFManager$6.run(Unknown Source)
 at java.security.AccessController.doPrivileged1(Native Method)
 at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
 at com.ibm.bsf.BSFManager.exec(Unknown Source)
 at com.ibm.ws.scripting.AbstractShell.executeScript(AbstractShell.java:845)
 at com.ibm.ws.scripting.AbstractShell.run(AbstractShell.java:1627)
 at com.ibm.ws.scripting.WasxShell.main(WasxShell.java:842)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
 at java.lang.reflect.Method.invoke(Method.java:391)
 at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:190)
[09-10-10 15:31:29:098 GMT+08:00] 0000000a AbstractShell A   WASX7093I: 发出消息:“WASX7017E: 运行文件“/opt/IBM/SunWAS630/jacl/setjvm.jacl”时接收到异常;异常信息:com.ibm.ws.scripting.ScriptingException: WASX7070E: 配置服务不可用。

[09-10-10 15:31:29:112 GMT+08:00] 0000000b AbstractShell E   WASX7120E: 来自有文本“com.ibm.ws.scripting.ScriptingException: WASX7070E: 配置服务不可用。
”的异常的诊断信息如下:
com.ibm.ws.scripting.ScriptingException: WASX7070E: 配置服务不可用。
 at com.ibm.ws.scripting.AbstractShell.setAndThrowScriptingException(AbstractShell.java:1338)
 at com.ibm.ws.scripting.AdminConfigClient.checkService(AdminConfigClient.java:2155)
 at com.ibm.ws.scripting.WasxShell.leaving(WasxShell.java:784)
 at com.ibm.ws.scripting.WasxShell$ShutdownHook.run(WasxShell.java:858)
解决方案:修改“/opt/IBM/WebSphere/App/profiles/AppSrv630/properties/wsadmin.properties”,该配置文件中
#-------------------------------------------------------------------------
# The host property determines what host is used when attempting
# a connection.
# The default value is localhost.
#-------------------------------------------------------------------------
#com.ibm.ws.scripting.host=localhost
com.ibm.ws.scripting.host=192.168.17.60
将localhost改为当前机器的IP
11、创建新的AppServer
C:WebSphereAppServerbinProfileCreator,执行pctWindows.exe,可以创建新的AppServer。
12、Websphere 禁用宕机日志 以及 替换JDK方法
【解决方案和步骤】
解决方案1:禁用JIT
进入WebSphere的管理控制台,打开“应用服务器”>“server1”>“进程定义”
进入“Java虚拟机”,选中“禁用 JIT”,然后重新启动websphere。
这种解决方案简单但是系统性能比较差,因为直接运行class的字节码,运行效率差
解决方案2: 升级到最新的JVM
首先下载最新的JDK环境并且安装
启动websphere,修改“环境变量”中的“JAVA_HOME”值,用最新下载的JDK
然后将WebSphere/AppServer($WAS_HOME)/java/lib/ibmtools.jar文件拷贝到最新的JDK的JAVA_HOME目录下的lib目录中
然后将WebSphere/AppServer($WAS_HOME)/java/jre/lib/ext目录中的文件在最新JDK的JAVA_HOME/jre/lib/ext中不存在的文件拷贝过来!
13、WebSphere优化技巧集中营
1,更改http server的配置文件参数KeepAlive。
    原因:这个值说明是否保持客户与HTTP SERVER的连接,如果设置为ON,则请求数到达MaxKeepAliveRequests设定值时请求将排队,导致响应变慢。
    方法:打开ibm http server安装目录,打开文件夹conf,打开文件httpd.conf,查找KeepAlive值,改ON为OFF,其默认为ON
    2,更改http server的配置文件参数ThreadsPerChild值到更大数目,默认为50
    原因:服务器响应线程的数量
    方法:打开ibm http server安装目录,打开文件夹conf,打开文件httpd.conf,查找ThreadsPerChild值,默认为50,改到更大数目,视用户数多少而定,一般改到客户机数量的1.1倍,如200台,则设为220
    3,关闭http server日志纪录
    原因:http server的日志IO影响性能
    方法:打开ibm http server安装目录,打开文件夹conf,打开文件httpd.conf,查找CustomLog值,找到没有注释的那行(行的开头没有符号"#"),将那行用符号"#"注释掉,以关闭日志纪录,提高处理性能。
    4,更改Websphere的服务器处理线程数
    原因:线程的数量影响同时并发的请求数量
    方法:打开管理控制台,依次打开目录树,服务器->server1->web容器->线程池,修改"最大大小"的值,默认是50,改到更大数目,具体视总用户数量和机器的配置而定,一般设置其等于或小于http server设置的MaxKeepAliveRequests的值。
WS优化的经验:
  1.Java 虚拟机初始堆大小和最大堆大小(位置: server1 > 进程定义>java虚拟机 )
  WS通常默认是256,可以适当调整最大堆为512。不过也不要调的过大,小心WS启不启来,有一次我把初始堆调成768最大堆调成了2048,当我startserver -server1 时就提示WS无法初始化,原因是内存不足,所以一定要根据机子的性能来调整
  2.web容器的线程池最小大小和最大大小
  3.Jdbc连接池属性
  这个最难把握,因为最大连接数、最小连接数、连结超时、获得时间等等都要依据数据库及网张络的性能来调整。而且获得时间、不使用超时、时效超时是互相联系的一组参数,一般来说:获得时间要小于不使用超时及时效超时,且三个不能为零,是最好的!
  4.启用servlet高速缓存
  5.语句高速缓存大小
14、websphere使用技巧集锦
1、websphere6.0中概要表删除:
wasprofile.bat -delete -profilename 概要名称
2、普通应用部署在websphere上中文乱码问题
解决:管理控制台--->服务器--->应用程序服务器--->server1--->java和进程管理--->进程定义--->java虚拟机--->将通用jvm参数设置为
-Dfile.encoding=GBK -Ddefault.client.encoding=GBK
3、在部署文件中设定了jdbc引用名jdbc/sample,jndi名字为jdbc/sample
如果采用如下代码:
javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("java:comp/env/jdbc/sample");
conn = ds.getConnection();
运行就报错:05-7-1 10:02:24:178 CST] 00000031 SystemErr R Naming-Exception: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object.
去掉“java:comp/env/”就好了。
解决:确认部署后在概要表空间下的configcellsCN7642012HNode01Cellapplications目录下相应应用的web.xml文件下有正确的配置JNDI,如:
<resource-ref id="ResourceRef_1097466019938">
<res-ref-name>jdbc/yjjndi</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
再查看同目录下的ibm-web-bnd.xmi文件中id是否和上面的id相同,如下(注意粗体部分):
<resRefBindings xmi:id="ResourceRefBinding_1097466019938" jndiName="jdbc/yjjndi" loginC>
<bindingResourceRef href="WEB-INF/web.xml#ResourceRef_1097466019938"/>
<properties xmi:id="Property_1165956970219" name="com.ibm.mapping.authDataAlias" value="CN7642012HNode01/yjj2c" description="description"/>
</resRefBindings>
4、如何避免WebSphereApplicationServer总是自动产生heapdumps和javacores
对于WAS4.0.x:
1. 找到<WAS_HOME>/bin/startupServer.sh (.bat)文件,其中<WAS_HOME>表示WAS的安装目录
2. 用文本编辑器打开该文件,并在文件的顶部添加如下的2行:
Unix平台:
exportIBM_HEAPDUMP_OUTOFMEMORY=false
export IBM_JAVADUMP_OUTOFMEMORY=false
Window平台:
set IBM_HEAPDUMP_OUTOFMEMORY=false
set IBM_JAVADUMP_OUTOFMEMORY=false
3. 保存并关闭文件,重新启动WAS
对于WAS 5.0.x或者5.1.x:
1. 打开管理控制台,依次选择:服务器 > 应用服务器 > 需要更改的服务器名称 > 进程定义 >环境条目
2. 新建如下的2个条目:
Name Value
IBM_HEAPDUMP_OUTOFMEMORY false
IBM_JAVADUMP_OUTOFMEMORY false
3. 保存配置的更改,重新启动WAS
15、WAS6版本的登入密码忘记了怎么办?
有两种方法:
1.搭建ldap的warm backup,如果其中一台LDAP挂了,启动另一台,was端按照如下方式操作:
        $ vi /wasHome/AppServer/profiles/Dmgr01/config/cells/*Cell01/security.xml 修改realm=值和host=值,更改为切换后的服务器名称或IP。
                然后查找dmgr的进程号:$ ps -ef|grep dmgr,并kill -9 PID,再启动dmgr,/wasHome/AppServer/profiles/Dmgr01/bin/startManager.sh。
                查找各nodeagent的进程号:$ ps –ef|grep nodeagent,并kill -9 PID,再同步并启动各nodeagent,比如$ /syncNode.sh  [DMhostname]  8879   (需要新LDAP身份认证)
    $ /wasHome/AppServer/profiles/AppSrv01/bin/startNode.sh。
2.如果忘记密码或者ldap宕机,又没备份,可以临时取消控制台安全性认证
        $ vi /wasHome/AppServer/profiles/Dmgr01/config/cells/*Cell01/security.xml 修改enabled="true"为enabled="false"。
                然后查找dmgr的进程号:$ ps -ef|grep dmgr,并kill -9 PID,再启动dmgr,/wasHome/AppServer/profiles/Dmgr01/bin/startManager.sh。
                查找各nodeagent的进程号:$ ps –ef|grep nodeagent,并kill -9 PID,再同步并启动各nodeagent,比如$ /syncNode.sh  [DMhostname]  8879
    $ /wasHome/AppServer/profiles/AppSrv01/bin/startNode.sh。
上述方式的切换是不需要重启appserver的,也就是说整个过程应用不会收到影响。
但是控制台上无法再对appserver做修改(运维)了,需要你找个下班时间变更,kill掉appserver,重启appserver后才恢复正常修改(运维)。
--需要说明下,前提是没有配置java 2安全性。如果配置了java 2安全性,切换ldap或者取消ldap后需要马上重启appserver,不然was也会自动停止appserver。
 

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

5

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广