浅谈WebLogic Server的日常管理
什么是WebLogic Server
WebLogic Server是中间件(middleware)软件中的一种,顾名思义,中间件处于操作系统与应用软件的中间。中间件位于操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
而WebLogic Server是目前商用市场上占有率最高,表现最好的一款中间件软件之一,用于企业级的、多层次的、完全分布式的应用。WebLogic Server提供了对系统资源(如客户端和数据库连接)的高效使用,它可以支持书百万用户的商业应用程序和每小时数十万次的请求。同时还支持服务器实例的集,以获得可靠性、可伸缩性和高性能。
不论系统的实际复杂程度如何,它总可以被划分为典型的三层:
客户层:
应用逻辑层:
数据层:
做为一名WebLogic中间件管理员,下面内容是本人近年来的一些日常管理方面的心得,做这样一个总结性文档希望能给大家有所启示和帮助。
随着系统在省公司的大集中,省公司各业务系统运行压力相比以前更大了,出现性能问题的频率较高,同时出现故障时的影响面也更广,这种情况下尤其突显了日常管理和维护的重要性。
WebLogicServer启动
管理服务器从配置库(l)加载所有配置。所有相关的被管服务器必须在启动期间连接到运行中的管理服务器。独立的被管服务器可以从本地库(l)加载配置。服务器的启动包括执行脚本启动和通过节点管理器在控制台启动两种方式。
脚本启动
在使用脚本启动的过程中有一下几点需要注意:
管理服务器从配置库(l)加载所有配置。所有相关的被管服务器必须在启动期间连接到运行中的管理服务器。独立的被管服务器可以从本地库(l)加载配置。服务器的启动包括执行脚本启动和通过节点管理器在控制台启动两种方式。
脚本启动
在使用脚本启动的过程中有一下几点需要注意:
在同一个域中,必须在启动被管服务器之前首先正常启动管理服务器。
当把被管服务器作为独立服务器启动时,检查l 文件是否被存储在服务器根目录中。
在unix系统中,使用nohup后台运行 weblogic server启动脚本,以保证即使注销用户登陆以后,weblogic进程依然在后台运行。
使用boot.properties文件来避免启动脚本中出现明文的用户身份信息。
在Windows系统环境下,使用d和 d 脚本在windows service control manager中添加或删除服务。
节点管理器
使用weblogic server提供的节点管理器功能自动启动被管服务器,或者重新启动出现故障的被管服务器。节点管理器使管理员可以从管理服务器或命令行(weblogic.admin start…)远程启动被管服务器。
使用weblogic server提供的节点管理器功能自动启动被管服务器,或者重新启动出现故障的被管服务器。节点管理器使管理员可以从管理服务器或命令行(weblogic.admin start…)远程启动被管服务器。
此外,除了启动和关闭被管服务器之外,节点管理器还能够监控它所启动的服务器的健康状况。如果进行恰当的配置,在出现故障时,节点管理器能够自动重新启动被管服务器。
使用节点管理器有以下事项需要注意:
使用节点管理器时,显式地配置所被管服务器的有远程启动属性,而不要依靠节点管理器为被管服务器的配置提供的环境。
节点管理器只接收来自管理服务器的请求。管理服务器不可用时,想要通过节点管理器远程地重新启动被管服务器是不可能的。
根据实际需要,可以配置被管服务器的自动重启。
配置机器在出现故障时自动关闭,以便在节点管理器尝试重新启动一个出现故障的实例之前关闭它。
运行在一台机器上的节点管理器可以被运行在该机器上的多台被管服务器所共享。
节点管理器还可以被运行在同一台机器上的多个域中的被管服务器所共享。
WebLogic Server关闭
异常的jvm终止可以导致套接字或程序段这样的资源被锁定。在操作系统中关闭或终止weblogic server进程被认为是异常终止。
可以通过以下方式正常关闭weblogic server:
异常的jvm终止可以导致套接字或程序段这样的资源被锁定。在操作系统中关闭或终止weblogic server进程被认为是异常终止。
可以通过以下方式正常关闭weblogic server:
使用管理控制台'graceful shutdown" 超链接。
使用 weblogic.admin shutdown… 命令。
在关闭WebLogic Server过程中的注意事项:
为了正常关闭生产服务器,需要使用weblogic 管理控制台或者weblogic.admin 实用程序。
正常关机不会异常终止用户会话;它等待http会话完成或超时。
如果服务器没有响应正常关机请求,或者当服务器等待正在进行的会话时(处于待机状态)关闭服务器,使用'force shutdown' 选项或是在后台杀进程。
如果对节点管理器进行配置,终止节点管理器将不会停止由它们启动的相应服务器。必须单独地停止各台被管服务器。
备份和恢复
为了在出现故障时迁移或恢复weblogic域,定期备份管理服务器机器上的整个域目录树。
为了在出现故障时迁移或恢复weblogic域,定期备份管理服务器机器上的整个域目录树。
这样,您就可以从硬件或系统故障中恢复,而要做的不过是还原域目录并重新启动管理服务器。
如果管理服务器崩溃,管理服务器将会把所有正在运行的被管服务器的相关信息保留在l文件中。重新启动时,管理服务器将会读取这个文件,并尝试联系所有以前运行的被管服务器。如果没有被管服务器正在运行的话,discovery模式可能会增加管理服务器的启动时间,但是始终要使用discovery模式(默认情况下它是打开的),这样才能保证有被管服务器已经运行的情况下,管理服务器重新与所有被管服务器连接。
一些重要的需要从管理服务器机器上进行备份的重要文件包括: weblogic管理页面
如果管理服务器崩溃,管理服务器将会把所有正在运行的被管服务器的相关信息保留在l文件中。重新启动时,管理服务器将会读取这个文件,并尝试联系所有以前运行的被管服务器。如果没有被管服务器正在运行的话,discovery模式可能会增加管理服务器的启动时间,但是始终要使用discovery模式(默认情况下它是打开的),这样才能保证有被管服务器已经运行的情况下,管理服务器重新与所有被管服务器连接。
一些重要的需要从管理服务器机器上进行备份的重要文件包括: weblogic管理页面
l域配置文件。
l.booted成功启动时对域配置文件的良好备份。
boot.properties启动管理服务器时需要的加密后的用户名和密码。
l这是当前正在运行的相关被管服务器的一个列表。这个文件用于当管理服务器重新启动后,而且有被管服务器正在运行时,发现被管服务器。
domain/adminserver/ldap/backup/embeddedldapbackup.zip内嵌的ldap被用于存储用户、组、角、默认的安全领域使用的策略、myrealm的安全提供程序。
batch/shell 脚本
d/sh, d/sh, d/sh。
d/sh, d/sh, d/sh。
日志
日志记录了和事件(比如服务器的启动和关闭)、新应用程序的部署或者一个或多个子系统故障有关的信息。日志消息包括和事件的时间与日期,以及启动事件用户的id有关的信息。每个weblogic server实例都可以维护一份服务器日志、一份http访问日志、一份jdbc日志和一份jta事务日志。
在对日志进行管理的时候需要注意:
日志记录了和事件(比如服务器的启动和关闭)、新应用程序的部署或者一个或多个子系统故障有关的信息。日志消息包括和事件的时间与日期,以及启动事件用户的id有关的信息。每个weblogic server实例都可以维护一份服务器日志、一份http访问日志、一份jdbc日志和一份jta事务日志。
在对日志进行管理的时候需要注意:
为了防止当日志文件所占空间过大时,出现相应的服务器宕机等故障,需要配置日志轮循(log rotation)。
按照对日志的实际需求,可以考虑按照文件大小或是时间段来轮循日志。
如果您没有进行交互式调试,而且weblogic server 是在后台(windows 或 unix)启动的,使用以下命令把stdout和stderr重定向到一个文件: -dweblogic.stdout="stdout-filename" 和-dweblogic.stderr="stderr-filename"
在生产环境中,如果不启用weblogic server创建jdbc日志,还可以避免服务器上的额外文件i/o。
使用节点管理器启动被管服务器时,节点管理器捕捉服务器的stdout并把它存储到一个文件中。可以使用管理控制台来查看该文件的内容。
经常检查weblogic server 的日志文件,以熟悉常规操作,这样您就能够很容易地辨认出异常的日志项。
jdbc
在weblogic server中,使用池缓冲到数据库的jdbc连接可以提高应用程序的性能。连接池根除了为每个应用程序创建新的数据库连接的需要。jdbc连接池提供到您数据库的现成连
在weblogic server中,使用池缓冲到数据库的jdbc连接可以提高应用程序的性能。连接池根除了为每个应用程序创建新的数据库连接的需要。jdbc连接池提供到您数据库的现成连
接。
使用连接池时,到数据库的连接的数目可以动态改变。但是,在负载高峰时期试图增加jdbc连接的数目将会使情况恶化,因为创建数据库连接是一项开销昂贵的操作。
使用连接池时,到数据库的连接的数目可以动态改变。但是,在负载高峰时期试图增加jdbc连接的数目将会使情况恶化,因为创建数据库连接是一项开销昂贵的操作。
连接池还可以通过缓存用于重用的prepared statement和callable statement来提高性能。重用prepared statement和callable statement可以降低数据库服务器上的cpu利用率。
通过把其他应用程序分离到单独的机器或硬件上,可以避免耗尽weblogic server机器上的处理能力;为数据库指派一台专用的机器。
设置连接池注意事项:
通过把其他应用程序分离到单独的机器或硬件上,可以避免耗尽weblogic server机器上的处理能力;为数据库指派一台专用的机器。
设置连接池注意事项:
如果有可能,按大小排列数据库连接池,这样它们就永远不会增加连接的数目;设置初始容量为最大容量。
设置连接池的最大容量至少等于执行线程的数量。
配置 inactive connection timeout,以指定一个连接在被回收到池中之前,保持非活动状态的时间长短,减少内存泄漏的情况。
connection leak profiling选项显示了连接池中泄漏的连接。但它要使用额外的资源,并且通常会降低连接池操作的速度,对于连接池紧张的系统不建议使用。
如果能够负担把测试连接作为常规请求处理一部分所带来的开销,您可以只使用test reserved connections 选项。
当创建连接池或者启动weblogic server时,如果数据库不可访问,可以使用connection creation retry frequency 重新尝试建立到数据库的连接。
当配置一个连接池,以便与weblogic jms jdbc store 一起使用时,使用non-xa 数据库驱动程序。
程序部署
weblogic server允许您把部署单元存储为单个存档文件,或者是一个包含与上述存档文件相同内容的已展开目录。存档文件是包含一个所有应用程序或模块的类、静态文件、目录和部署描述符文件的单个文件。
weblogic server允许您把部署单元存储为单个存档文件,或者是一个包含与上述存档文件相同内容的已展开目录。存档文件是包含一个所有应用程序或模块的类、静态文件、目录和部署描述符文件的单个文件。
在被管服务器实例上部署用户应用程序。这将管理应用程序(控制台)和域配置从用户应用程序分离出来。在生产环境和多服务器环境中,避免使用应用程序的自动部署。以“生产模式”运行weblogic域将禁止在生产中进行自动部署。如果您创建脚本来把应用程序部署为整个结构的一部分,考虑使用wldeploy ant任务。
如果您在部署应用程序(或模块)时,在把on future redeploys选项设置为initialize roles and policies from dd 之前,一次或多次将其设置为ignore roles and policies from dd,您就可以使用管理控制台设置安全策略和安全角。但是,使用管理控制台进行的这些修改将覆盖部署描述符中指定的安全性。
注意事项:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论