在CentOS上部署和运行WebLogic时,可能会遇到各种故障。以下是一个详细的故障排查指南,帮助你解决常见问题。
1. WebLogic无法启动
问题描述:重启后WebLogic无法正常启动,可能会有报错信息。
解决方法:
- 找到
server
目录,备份cache
、tmp
目录(里面含有*.lock文件)。 - 删除这两个文件夹下的所有文件。
- 重新启动WebLogic(使用命令
sudo nohup ./startWebLogic.sh >nohup.out &
)。
2. 启动WebLogic时提示无权限
问题描述:使用weblogic用户启动WebLogic时提示无权限。
解决方法:
- 确认当前登录用户是否是root账号。若是root账号的提示符是井号“#”:若是普通账号的提示符是美元符号“$”。
3. 常见错误代码和解决方法
错误代码:weblogic.descriptor.DescriptorException: Unmarshaller failed
解决方法:
- 确保WebLogic版本与web.xml版本兼容。例如,WebLogic 9.2不支持web.xml 2.5版本,而是仅支持J2EE 1.4(即web.xml 2.4版本)。
错误代码:java.lang.NoClassDefFoundError
解决方法:
- 检查WebLogic安装目录下是否存在缺失的class文件,并确保类加载器可以找到这些文件。
- 编辑
/etc/hosts
文件,将本地IP地址和主机名添加到文件中。
4. 日志分析
查看日志文件:
- WebLogic的默认日志路径为
DOMAIN_HOME/servers/SERVER_NAME/logs
,其中DOMAIN_HOME
代表域根目录,SERVER_NAME
代表服务器名称。 - 主要关注
AdminServer.out
、server_name.out
和server_name.log
这三个文件。
使用WLST进行实时监控和故障排查:
- 使用WebLogic Server自带的WLST(WebLogic Scripting Tool)进行实时监控和故障排查。例如,可以使用以下命令查看服务器状态:
connect('weblogic', 'password', 't3://localhost:7001') serverRuntime() ```。
5. 性能优化
减少日志操作:
- 关闭Log4j或减少System.out.println语句的使用,以避免频繁的标准输出或日志操作对性能的影响。
选择合适的JVM:
- 根据不同的操作系统选择最合适的JVM,例如基于x86系列的32位操作系统,推荐使用Bea JRockit JVM以获得最佳的执行性能。
内存设置:
- 通常建议将Java堆的初始大小(-Xms)和最大值(-Xmx)设置为相同的值,例如都设为1024M,以确保内存分配的一致性和减少垃圾回收的频率。
调整开发模式与产品模式默认值:
- 开发模式和产品模式的一些参数默认值不同,可能会对性能造成影响。例如,线程数和JDBC连接池的最大容量在产品模式下应高于开发模式。
数据源性能优化:
- 连接池参数配置,如设置合理的初始容量、最大容量和容量增长值,以及高级参数配置,如重试创建的频率、登录延迟和非活动连接超时等,都是优化数据源性能的重要措施。
通过以上步骤和方法,你可以有效地排查和解决在CentOS上运行WebLogic时遇到的各种故障,确保系统的稳定性和可靠性。如果问题仍然无法解决,建议参考WebLogic的官方文档或寻求社区支持。