您的位置:首页 > 其它

浅谈WebLogic Server的日常管理01

2015-05-07 17:09 295 查看
浅谈WebLogic Server的日常管理01

浅谈WebLogicServer的日常管理;什么是WebLogicServer;WebLogicServer是中间件(middl;而WebLogicServer是目前商用市场上占;不论系统的实际复杂程度如何,它总可以被划分为典型;客户层:应用逻辑层:数据层:;做为一名WebLogic中间件管理员,下面内容是;随着系统在省公司的大集中,省公司各业务系统运行压;

浅谈WebLogic Server的日常管理

什么是WebLogic Server

WebLogic Server是中间件(middleware)软件中的一种,顾名思义,中间件处于操作系统与应用软件的中间。中间件位于操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

而WebLogic Server是目前商用市场上占有率最高,表现最好的一款中间件软件之一,用于企业级的、多层次的、完全分布式的应用。WebLogic Server提供了对系统资源(如客户端和数据库连接)的高效使用,它可以支持书百万用户的商业应用程序和每小时数十万次的请求。同时还支持服务器实例的集群,以获得可靠性、可伸缩性和高性能。

不论系统的实际复杂程度如何,它总可以被划分为典型的三层:

客户层: 应用逻辑层: 数据层:

做为一名WebLogic中间件管理员,下面内容是本人近年来的一些日常管理方面的心得,做这样一个总结性文档希望能给大家有所启示和帮助。

随着系统在省公司的大集中,省公司各业务系统运行压力相比以前更大了,出现性能问题的频率较高,同时出现故障时的影响面也更广,这种情况下尤其突显了日常管理和维护的重要性。

WebLogicServer启动

管理服务器从配置库(config.xml)加载所有配置。所有相关的被管服务器必须在启动期间连接到运行中的管理服务器。独立的被管服务器可以从本地库(msi-config.xml)加载配置。服务器的启动包括执行脚本启动和通过节点管理器在控制台启动两种方式。

脚本启动

在使用脚本启动的过程中有一下几点需要注意: ? 在同一个域中,必须在启动被管服务器之前首先正常启动管理服务器。

? 当把被管服务器作为独立服务器启动时,检查msi-config.xml 文件是否被存储在服务

器根目录中。

? 在unix系统中,使用nohup后台运行 weblogic server启动脚本,以保证即使注销用

户登陆以后,weblogic进程依然在后台运行。

? 使用boot.properties文件来避免启动脚本中出现明文的用户身份信息。

? 在Windows系统环境下,使用installservice.cmd和 uninstallservice.cmd 脚本在

windows service control manager中添加或删除服务。

节点管理器

使用weblogic server提供的节点管理器功能自动启动被管服务器,或者重新启动出现故障的被管服务器。节点管理器使管理员可以从管理服务器或命令行(weblogic.admin start?)远程启动被管服务器。

此外,除了启动和关闭被管服务器之外,节点管理器还能够监控它所启动的服务器的健康状况。如果进行恰当的配置,在出现故障时,节点管理器能够自动重新启动被管服务器。 使用节点管理器有以下事项需要注意:

? 使用节点管理器时,显式地配置所被管服务器的有远程启动属性,而不要依靠节点管理

器为被管服务器的配置提供的环境。

? 节点管理器只接收来自管理服务器的请求。管理服务器不可用时,想要通过节点管理器

远程地重新启动被管服务器是不可能的。

? 根据实际需要,可以配置被管服务器的自动重启。

? 配置机器在出现故障时自动关闭,以便在节点管理器尝试重新启动一个出现故障的实例

之前关闭它。

? 运行在一台机器上的节点管理器可以被运行在该机器上的多台被管服务器所共享。 ? 节点管理器还可以被运行在同一台机器上的多个域中的被管服务器所共享。 WebLogic Server关闭

异常的jvm终止可以导致套接字或程序段这样的资源被锁定。在操作系统中关闭或终止weblogic server进程被认为是异常终止。

可以通过以下方式正常关闭weblogic server:

? 使用管理控制台'graceful shutdown" 超链接。

? 使用 weblogic.admin shutdown? 命令。

在关闭WebLogic Server过程中的注意事项:

? 为了正常关闭生产服务器,需要使用weblogic 管理控制台或者weblogic.admin 实用

程序。

? 正常关机不会异常终止用户会话;它等待http会话完成或超时。

? 如果服务器没有响应正常关机请求,或者当服务器等待正在进行的会话时(处于待机状

态)关闭服务器,使用'force shutdown' 选项或是在后台杀进程。

? 如果对节点管理器进行配置,终止节点管理器将不会停止由它们启动的相应服务器。必

须单独地停止各台被管服务器。

备份和恢复

为了在出现故障时迁移或恢复weblogic域,定期备份管理服务器机器上的整个域目录树。这样,您就可以从硬件或系统故障中恢复,而要做的不过是还原域目录并重新启动管理服务器。

如果管理服务器崩溃,管理服务器将会把所有正在运行的被管服务器的相关信息保留在running-managed-servers.xml文件中。重新启动时,管理服务器将会读取这个文件,并尝试联系所有以前运行的被管服务器。如果没有被管服务器正在运行的话,discovery模式可能会增加管理服务器的启动时间,但是始终要使用discovery模式(默认情况下它是打开的),这样才能保证有被管服务器已经运行的情况下,管理服务器重新与所有被管服务器连接。

一些重要的需要从管理服务器机器上进行备份的重要文件包括:

?

?

?

? config.xml域配置文件。 config.xml.booted成功启动时对域配置文件的良好备份。 boot.properties启动管理服务器时需要的加密后的用户名和密码。 running-managed-servers.xml这是当前正在运行的相关被管服务器的一个列表。这个

文件用于当管理服务器重新启动后,而且有被管服务器正在运行时,发现被管服务器。 ? domain/adminserver/ldap/backup/embeddedldapbackup.zip内嵌的ldap被用于存储

用户、组、角色、默认的安全领域使用的策略、myrealm的安全提供程序。

? batch/shell 脚本

setenv.cmd/sh, startweblogic.cmd/sh, startmanagedweblogic.cmd/sh。

日志

日志记录了和事件(比如服务器的启动和关闭)、新应用程序的部署或者一个或多个子系统故障有关的信息。日志消息包括和事件的时间与日期,以及启动事件用户的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连接池提供到您数据库的现成连接。

使用连接池时,到数据库的连接的数目可以动态改变。但是,在负载高峰时期试图增加jdbc连接的数目将会使情况恶化,因为创建数据库连接是一项开销昂贵的操作。

连接池还可以通过缓存用于重用的prepared statement和callable statement来提高性能。重用prepared statement和callable statement可以降低数据库服务器上的cpu利用率。 通过把其他应用程序分离到单独的机器或硬件上,可以避免耗尽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域将禁止在生产中进行自动部署。如果您创建脚本来把应用程序部署为整个结构的一部分,考虑使用wldeploy ant任务。

如果您在部署应用程序(或模块)时,在把on future redeploys选项设置为initialize roles and policies from dd 之前,一次或多次将其设置为ignore roles and policies from

dd,您就可以使用管理控制台设置安全策略和安全角色。但是,使用管理控制台进行的这些修改将覆盖部署描述符中指定的安全性。

注意事项:

? 使用生产模式运行生产应用程序。

? 避免在管理服务器实例上部署用户应用程序。

? 为了指定服务器的默认web应用程序,在weblogic.xml或application.xml文件中使

用一个空的context-root元素或者一个值为"/" 的元素。

? 在管理控制台中部署应用程序之后,对该应用程序的安全策略的修改将会覆盖部署描述

符中的策略。

安全性设置

永远不要对生产服务器使用开发模式;开发模式会放宽域中所有服务器的安全限制。使用兼容性安全性时,禁用生产中的客人登录,这样就可以使用客人登录来访问weblogic server中的weblogic资源。

serializedsystemini.dat包含对域中密码进行处理以后得到的杂乱信息;确保您在安全的地方存储了这个文件的拷贝。只能授予weblogic系统管理员帐号对

serializedsystemini.dat的读权限。如果您丢失了管理密码,而且没有以boot.properties文件的形式保存启动身份,那么您不能重新启动服务器。

注意事项:

? 在boot.properties文件中保存对有权启动weblogic server 的用户进行加密后的启

动身份。

? bea建议使用安全角色(而不是用户或组)来保护weblogic资源;首先把用户指派给

组,然后创建角色语句。

? 不要以root权限安装或运行weblogic server 。如果您必须绑定到一个要求授权的端

口,请在weblogic机器配置中使用post-bind uid 或 post-bind gid。

? 设置weblogic安装和应用程序目录的所有权,只允许运行服务器的用户帐户访问它们。 保护管理控制台

如果您使用管理服务器(或者在单台服务器的域中)为应用程序服务,请做到以下几点,以提供更好的安全性:

?

?

?

? 把默认的管理用户及密码修改为定制的用户及密码。 修改管理控制台上下文根路径。 启用域范围内的管理端口。 考虑禁用管理控制台。

群集

weblogic群集是域中的一组被管服务器,以一种协同的方式为客户端提供单个服务器视图。使用weblogic群集来提高效率、可伸缩性、负载平衡和故障恢复。weblogic群集是一种流
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: