本文描述Weblogic Server的域以及如何配置。域是WebLogic Server的基本管理单元。一个域可以包括一个或多WebLogic Server实例以及相关资源,只需使用一个Administration Server进行管理


 

以下章节描述该指南的内容与结构——理解域配置。

  • 文档范围与读者

  • 文档向导

  • 相关文档

  • 例与指南

  • 该发布版本中新的域特性


 

文档范围与读者


 

文档主要适用于基于一个或多个Weblogic server域开发和部署Web应用的J2EE系统架构师应用开发人员和系统管理员。


 

的主题和软件项目的设计与开发阶段相关,不涉及产品过程管理、监控或者性能调整对于这些主WebLogic Server文档和资源链接,参见“相关文档


 

假定读者熟悉J2EEXML的基本概念以及应用管理一般概念。


 

文档向导

  • 本章介绍与导览,介绍该指南的目的、结构上下文关系。

  • 第二章理解WebLogic Server介绍Weblogic Server域。

  • 第三章使用WebLogic工具配置域,展示你可以用来修改域配置的种工具。

  • 第四章域配置文件”描维护域和域的内容的磁盘表现形式的配置目录。

  • 第五章管理配置变更”描述如何Weblogic Server的管理特性。


 

相关文档

关于创建和配置Weblogic Server工具的更多信息,参见:

  • 使用配置向导创建WebLogic

  • WebLogic脚本工具

  • 使用JMX部署可管理的应用

  • WebLogic Server命令参考

  • 管理控制台在线帮助

关于其他系统管理任务的信息,参见系统管理文档,尤其是:

  • 设计和配置WebLogic Server环境

  • 使用WebLogic Server集群


 

例和向导

BEA系统公司为文档提供了和域配置、管理相关的以下代码示例和指南

  • BEA WebLogic Server的示例安装(可选)于目录WL_HOME/samples/server/examples/src/examplesWL_HOME是你安装WebLogic Server的顶级目录,这些示例也可以通过Windows开始菜单使用。集群示例会在BEA WebLogic Server集群指南示例中描述,导你掌握使用WebLogic配置向导和管理控制台来创建和配置一个新的server实例集群的整个过程。


 

本版中新的域特性

Weblogic Server 9.0Weblogic Server域配置中引入了几项重要变化:

  • config.xmlXML Schema

  • 域目录结构

  • 配置变更管理


 

config.xmlXML Schema

WebLogic Server域和实例配置的磁盘表现形式在本版本中有所不同。在原版本中,配置信息被保存在单XML仓库文件config.xml中,默认位于user_projects/domains/domain_name目录下。在本版WebLogic Server中,config.xml文件符合XML Schema定义用来验证配置文件格式的有效性而且config.xml融合了其他配置文件(符合各自的XML Schema)的配置信息。在本版中,config.xml默认位于user_projects/domains/domain_name/config目录下,config.xml核心文件涉及的辅助配置文件位于user_projects/domains/domain_name/config目录的子目录中。更多信息,参见第四章“域配置文件”


 

域目录结构

本版中,Weblogic Server域在磁盘上的目录结构有了改变。域的父目录命名为domains。域的配置信息保存在domains/domain_name/config目录config目录的子目录中。更多信息,参见“域目录内容”


 

配置变更管理

WebLogic Server提供了一些新特性用来管理服务配变更,这使你可以安全、可预知地实现分发某个域的配置更。当然这要你在使用控制台进行配置更前获得管理员控制台锁。


 

WebLogic Server中的变更管理过程数据库事务有些类似。管理服务器维护一个独立的,可编辑的域配置表现形式称为编辑server实例并不涉及编辑。相反,server实例使用只读层发现配置。为了开编辑过程,你应当可以获得一个编辑层锁以防止其他人更改。当你完成更改后,你保存并将其分发至域中的所有server实例。分发完后,每一个server决定自己是否接受变更。一旦所有的server都接受该变更,更新运行的配置层,变更完成。


 

现在管理控制台包括一个名为Change Center变更中心的区域。当你使用管理控制台进行配置变更时,你必须首先通过点击Change CenterLock & Make Changes(锁且变更)获得锁。进行期望的配置变更以后,然后可以在Change Center

  • 点击Activate Changes(激活变更)接受更改,向域中的sever实例分发,或者

  • 点击Undo All Changes(撤销所有变更,释放锁

WebLogic Server一般采用相同方式控制配置变更,无论变更是使用管理控制台实现,还是WebLogic 脚本工具、配置管理服务或者JMX API

更多信息,参见第五章管理配置变更


 

第二章 理解Weblogic Server

以下章节介绍Weblogic Server域和的内容:

  • 域是什么

  • 组织域

  • 域的内容

  • 域约束


 

域是什么?

一个Weblogic Server管理是逻辑上相关的Weblogic Server资源组。域包括一个特殊的Weblogic Server实例叫做管理服务器(Administration Server),是你配置和管理域的所有资源的关键。通常,你配置一个域会加入外的WebLogic Server实例叫作托管服务器(Managed Server)。你的Web应用、EJB和其他资源会部署在托管服务器上,而管理服务器只是用配置和管理。


 

多个托管服务器可以组织成集群(clusters),这使你能够保持负载平衡和对于临界的应用提供失败保护,同时只使用一个管理服务器使托管服务器实例管理变得简单。


 

组织域


 

如何WebLogic Server组织成域,这取决于你的业务需求。你可以基于系统管理员职责、应用边界或者server运行的地理位置定义多个域。与之相反,你也可以决定将所有WebLogic Server管理行为集中于一个域。


 

根据你特定的业务需求和系统管理实,你可以按照如下标准决定如何组织你的域:


 

  • 应用的逻辑区分。比如,你可以有一个域用于类似购物车终端用户功能,另一个域用于后台记账。

  • 物理位置。你可以为业务的不同地理位置和分支分别建域。

  • 大小。你发现域被组织成更小的单元可能会使不同的系统管理员管理效率更高。反之,你也会发现维护单个域或者少量的域,配置更容易保持一致。


 

一个域一个管理服务器和一个或多个托管服务器组成,也可以只由单个孤立server组成,既扮演管理服务器的角色驻留应用。


 

  • 由分散的托管服务器组成的域:简单的产品环境由几个驻留应用的托管服务器,一个执行管理操作的管理服务器组成。这种配置下,应用和资源部署在各自的托管服务器中;类似地,访问应用的客户端与各自的托管服务器连接。


 

如果产品环境对增强应用性能、吞吐量或者可用性有要求,那么应该将两个或者更多的托管服务器配置成集群。机群允许多个托管服务器作为单个个体驻留应用和资源。关于在孤立的和集群托管服务器之间差异的更多信息,参见“托管服务器和托管服务器集群”

  • 立的server域:对于开发或测试环境而言,你可能想在部署单个应用server独立于产品域中server。这种情况下,你可以部署一个简单域,只由单个server实例组成,既作为管理服务器,又驻留你开发的应用。你用WebLogic Server安装的wl_server域就是一个孤立server域的例子。

注意:在产品环境中,BEA建议你只在域中的托管服务器部署应用,管理服务器应当只负责管理任务。


 

域的内容


 

尽管域的范围与目的有很大差异,但是大多数 WebLogic Server域都包含本章中描述的组件。


 

下图展示产品环境,包括一个管理服务器,孤立的托管服务器和三个托管服务器组成的集群。

管理服务器

每个Weblogic Server域都必须有一个server实例作为管理服务器你使用管理服务器(编程或者通过管理服务器)来配置域中的所有其他server实例和资源。


 

管理服务器的角色


 

在启动域的托管服务器之前,应先启动管理服务器。当你启动一个孤立或集群托管服务器,它会按配置信息与管理服务器这种方式下,管理服务器整个域配置中充当核心控制体。


 

当管理服务器启动时,加载域config.xml文件,除非你在创建域时指定另一个目录存储config.xml


 

BEA_HOME/user_projects/domains/mydomain/config


 

这里mydomain特定域的目录,名称与域相同。config.xml引用的其他配置文件,位于域的config目录的子目录下


 

管理服务器每一次成功启动后,将在域目录中创建一份命名为config-booted.jar的备份配置文件。万一配置文件在server实例生命周期内有损坏,有可能恢复原先的配置。


 

如果管理服务器出错会发生什么?


 

域的管理服务器出错不会影响域中的托管服务器的操作。如果域的管理服务器变不可用,而它所管server实例——集群或者其他方式——在运行,那么那些托管服务器继续运行。如果该域包含集群server实例,那么由域配置支持的负载平衡和失败性能保持可用,即使管理服务器出错。如果域的管理服务器停止运行而托管服务器继续运行,那么每一个托管服务器周期性地试重新连接管理服务器,周期由ServerMBean属性AdminReconnectIntervalSecs指定。AdminReconnectIntervalSecs默认为10秒。


 

如果管理服务器因为主机的硬件或软件错误而失败,同一台机器的其它server实例都可能受同样的影响。然而,管理服务器自身的失败不会中断域托管服务器的运行而且即使管理服务器不在运行状态,你也可以启动托管服务器。这种情况下,托管服务器使用配置文件的本地拷贝来作为它的启动配置,然后周期性地向管理服务器作连接尝试连接后利用管理服务器来同步配置状态。


 

对于重启管理服务器的指令,参见管理服务器启动与关闭


 


 

托管服务器和托管服务器集群


 

在域中,管理服务器server实例,指向托管服务器。托管服务器驻留构成你应用的组件和相关资源,比如JSPEJB。当个托管服务器启动后,它连接域的管理服务器来获得配置和部署设置。


 

注意:即使管理服务器不可用,域中的托管服务器可以独立于管理服务器启动。更多信息参见“管理server启动与关闭中的避免server失败与恢复

两个或更多托管服务器可以配置成一个WebLogic Server集群,来增加应用的可伸缩性与可用性。在WebLogic Server集群中,大多数资源与服务平均部署给每一个托管服务器(与单托管服务器相反),使失败与负载平衡。要想了解哪种组件类型和服务可以进行集群(部署给集群中的所有server实例),参见“使用WebLogic Server集群”中的理解WebLogic Server集群

你可以创建一个非集群托管服务器,然后通过配置有关server实例和集群的参数将其加入集群。你也可以通过重新配置参数从集群中删除某个托管服务器。在集群与非集群托管服务器之间的根本区别在于对失败和负载平衡的支持。这些特性仅在集群托管服务器中可用。

你对于可伸缩性与可靠性的要求将决定是否采用集群托管服务器。比如,如果你的应用不遇到易变的加载,应用服务中可能的中断是可以接受的,那么没有必要采用集群。

关于WebLogic Server集群的好处与性能的更多信息,参见“使用WebLogic Server集群中的理解WebLogic Server集群。单域可以包含多个WebLogic Server集群,同样多个托管服务也可以不被配置成集群


 

资源服务


 

除了管理服务器和托管服务器之外,域还包括托管服务器所需的资源和服务部署在该域上的应用。


 

域配置包括域运行的网络计算机环境信息,比如:

  • 机器定位依靠硬件上某个特定的物理片来识别。机器定位被用来关联驻留托管服务器的计算机。该信息由节点管理器(Node Manager)重启一台出错的托管服务器,集群的托管服务器选择存储重复的会话数据的最好位置时使用。关于节点管理器的更多信息,参见“设计与配置WebLogic Server环境”的“使用节点管理器控制服务器”。

  • 网络通道,一个可以用来定义默认端口、协议和协议设置的可选资源。在创建一个网络通道后,可以将它分配给域中任一个托管服务器和集群。更多信息,参见“设计与配置WebLogic Server环境中的配置网络资源

域配置还包括与驻留在域中应用相关的资源和服务信息。这些资源和服务的例子包括:

  • 应用组件,比如EJB

  • 连接器

  • JDBC连接池

  • JMS server

  • 启动类

资源和服务可能被限制域中一个或多个托管服务器,而不是对于整个域可用。你可以选择托管服务器或者集群进行部署资源与服务。


 

域约束


 

WebLogic Server环境可以由单个域组成,包括驻留应用所需的所有托管服务器,也可以是多个域。你可以选择创建多个域,根据组织单元、系统管理员职责、应用边界或者其它考虑的事项来划分。在设计域配置时,注意以下约束:


 

  • 每一个域都需要自身的管理服务器执行管理操作。当你使用管理控制台执行管理和监控任务时,你可以在域中来回切换,时你连接不同的管理服务器。

  • 同一个集群中的所有托管服务器必须位于相同的域,你不能将集群拆分多个域。

  • 一个域中的所有托管服务器运行的WebLogic Server软件版本必须相同。域中的管理服务器可以和托管服务器运行相同的版本,也可以更新的版本

你不能在域中配置资源与子系统。比如,如果你在一个域中创建了一个JDBC连接池,你不可能在另一个域中的托管服务器或集群中使用。代之,你必须在第二个域中创建一个类似的连接池。


 

第三章 使用Weblogic工具配置域

WebLogic包括了你可以用来创建、修改或者复制域配置的一系列工具。包括以下工具:

  • 域配置向导——域配置向导是创建一个新域或集群的推荐工具。关于使用域配置向导的更多信息,参见“使用配置向导创建WebLogic

  • WebLogic Server管理控制台——管理控制台是管理服务器的图形用户界面GUI)。管理控制台描述参见管理控制台在线帮助

  • WebLogic脚本工具(WLST)——你可以使用命令行脚本接口来创建、管理和维护WebLogic Server配置变更。WebLogic脚本工具描述参见“WebLogic脚本工具”。

  • WebLogic Server应用编程接口(API)—— 你可以使用WebLogic Server提供的API写程序修改配置属性。JMX API描述参见使用JMX开发可管理的应用

  • WebLogic Server命令行工具——该工具允许你创建脚本来自动进行域管理。关于该工具的更多信息,参见WebLogic Server命令参考


 

对于大多数方而言,要修改域配置域的管理服务器必须运行。然而,你如果使用 WLST 进行域配置变更不需要运行管理服务器。这种情况下,WLST造成的变更也不会立即生效直到管理服务器和托管服务器重启。


 

第四章 域配置文件


 

章节描述如何在文件系统中表示域。它包括以下部分

  • 配置文件概览

  • config.xml

  • 域域目录概览

  • 域目录内容

域配置文件概览

WebLogic Server管理和配置服务通过Java管理扩展(JMXAPI访问。域的配置保存在目录下的配置目录中。这些配置目录中的文件用来持久化存储WebLogic Server在使用JMX API运行期间创建和修改托管对象。config.xml的目的是存托管配置对象的更以使WebLogic Server重启时可访问。

域的核心配置文件domain_name/config/config.xml文件。它指定域的名称和域中每一个server实例、集、资源和服务的配置参数。域的一些主要子系统配置保存在domain_name/config目录的子目录中。

域目录还包括你用来启动域管理服务器和托管服务器的默认脚本文件。


 

config.xml

域的核心配置文件为/domains/domain_name/config/config.xml文件。它指定域的名称和域中每一个server实例、集群、资源与服务的配置参数。

config.xml文件符合XML SchemaURLhttp://www.bea.com/ns/weblogic/configschema位于文件系统中的JAR文件BEA_HOME/weblogic90/server/lib/schema/configuration-binding.jar中,META-INF/schemas/schema-0.xsdXML编辑工具可以使用XML Schema来修改和验证config.xml文件。


 

编辑配置文件

大多数情况下,你不应该直接修改config.xml或其他配置文件而应该使用管理控制台或者第三章使用WebLogic工具配置域中列出的某个工具来修改域配置。配置更将会映射到配置文件中。

如果你选择放置配置文件,安装的其他组件在源控制之下(使用WLST管理),直接修改配置文件可能是合适的。

警告:WebLogic Server运行时你不能编辑配置文件,因为WebLogic Server会周期性地重写该文件。你的更改将会丢失,也可能造成WebLogic Server失败,这取决于你的平台。

WebLogic Server配置文件是格式友好的XML文件,因此它有可能使用XML解析应用比如 Apache Xerces, or JDOM来使某个重复性的变更脚本实现

确保完整测试所创建的脚本,在作变更之前对每一个配置文件作备份性拷贝。

辅助配置文件

在原版本中,config.xml文件存放了所有配置信息。新版本中,几个WebLogic Server子系统被配置在辅助配置文件中,由核心的config.xml引用。这些辅助配置文件位于/domains/domain_name/config目录的子目录中。关于辅助配置文件的更多信息,参见“域目录概览域目录内容”

配置文件压缩包

WebLogic Server对配置文件作备份拷贝。万一配置变更需要推倒重来或者配置文件被破坏(当然这种情况不太可能),这使得恢复很容易。当管理服务器启动时,它将配置文件保存在一个命名为config-booted.jarJAR文件中。当你变更配置文件时,旧文件以JAR文件的形式保存在域目录下的configArchive目录中,命名带数字序列,比如config-1.jar

域目录

4-1是域目录树型结构的览。 domain-name deployment-nameserver-name目录名称不是字面所示实际上替换成任何指定的名称都是可以的;其他的目录名称则是字面所示。概览只显示目录,不含目录内的文件。任何实际的特定域目录树,整个结构都可能不会是这样。