WAS7集群安装手册集群安装手册集群安装手册集群安装手册概念简介概念简介概念简介概念简介::::什么是集群?WAS集群由一组应用服务器组成,每个服务器上部署了同样的应用程序。通过集群可以实现可扩展性(服务更多客户,提高吞吐量),负载均衡(平衡负载资源,使资源得以有效利用),高可用性(提供故障恢复和补偿机制,在关键性业务中提供容错功能)。WASND提供水平集群和垂直集群两种形式,垂直集群是指同一机器上部署多个应用程序服务器,充分利用硬件资源,而水平集群利用多台机器资源,每台机器部署相同的应用。本文主要侧重水平集群,但是其中的很多概念对于垂直集群也是适用的。ND分布式环境的体系结构(如下图),包括单元、节点、服务器等基本概念。每个单元是单一管理域中的一组节点,在基本版和演示版中,一个单元只包含一个节点,每个节点可以有多个服务器,但是每个服务器的配置文件是单独存储和维护的。每个单元可以包含一个或多个集群,也可以不包含集群。在分布式环境中,每个单元包含多个节点,这些节点被统一管理,而且它们的配置文件被中心化到单元主配置文件中。配置管理器线程负责管理这些集中配置文件,并且将任何配置变化同步到每个节点上。节点是服务器线程的逻辑组,每台机器上只能有一个节点,通过节点代理器同配置管理器通信。在ND环境中,WASplugin起到负载均衡的作用,在plugin-cfg文件中可以定义每个服务器的权重,根据权重值,plugin决定将一个请求定向到哪个服务器。单元(Cell)单元是整个分布式网络中一个或多个节点的逻辑分组。单元是一个配置概念,是管理员将节点间逻辑关联起来的实现方法。管理员根据具体的业务环境,制定对其整体系统集成环境有意义的条件来定义和组织构成单元的节点。如图1所示,就一般情况来说,可以将单元看作是最大的作用域。在IBMWASND产品中,管理配置数据都存储在XML文件中。单元保留了它每个节点中每台服务器的主配置文件。同时每个节点和服务器也有其自己的本地配置文件。如果服务器已经属于单元,则对于本地节点或服务器配置文件的更改都是临时的,通过在本地提交更改生效时,本地更改覆盖单元配置,但是当执行单元配置文档同步到节点的操作时,在单元级别上对主控服务器和主节点配置文件所作的更改将会替换对该节点所作的任何临时更改。同步操作在指定的事件发生时进行,例如服务器启动时等很多操作。也就是说,通过对本地节点或服务器配置文件进行修改而达到调整节点或服务器配置的做法不是安全的,临时修改很容易被同步操作所覆盖。图1.单元的作用域DeploymentManagerDeploymentManager是管理代理程序,它提供集中式管理单元中所有节点的可视化人机交互管理视图。之前提到单元是一个逻辑上的配置概念,那么DeploymentManager就为单元中所有元素提供了单一的管理控制中心点。每个单元都会包含一个DeploymentManager,由DeploymentManager提供管理功能来修改单元的主配置文件。在最新的v6.x版本中还提供集群管理以及在一个或多个节点作用域内进行应用程序服务器工作负载平衡。图2.由DeploymentManager提供管理功能来修改单元的主配置文件节点(Node)节点是受管服务器(Server)的逻辑分组。节点通常与具有唯一IP主机地址的逻辑或物理计算机系统对应,节点不能跨多台计算机。节点分为受管节点与非受管节点。IBMWASND拓扑中的节点可能是受管的,也可能是非受管的。受管节点有相应的NodeAgent进程来管理它的配置和服务器。非受管节点没有NodeAgent。NodeAgent表示管理单元中的节点并负责保持配置始终处于最新状态。非受管节点对于单元来说是未知的,所以DeploymentManager无法对其进行管理。分布式网络环境中的非受管节点可以有服务器定义(例如Web服务器),但不能有应用程序服务器定义,并且非受管节点无法添加NodeAgent,因此它不能成为受管节点。另外一种情况在独立应用程序服务器环境中,节点尚且没有NodeAgent,它们也可以暂时被视为非受管节点,但是这类节点可以通过联合独立应用程序服务器而变为单元中的受管节点。通过调整独立应用程序服务器概要文件,将单独的Server节点添加到单元,这个过程称为联合。在联合独立应用程序服务器时,节点将自动创建NodeAgent,该节点就可以被DeploymentManager管理。图3.IBMWASND拓扑中的受管节点与非受管节点NodeAgentNodeAgent是将管理请求路由至服务器的管理代理程序。NodeAgent是服务器,是一个管理代理程序,并不涉及应用程序服务功能。NodeAgent进程在每个受管节点上运行,并专门执行特定于节点的管理功能,如服务器进程监视、配置同步、文件传输和请求路由。DeploymentManager通过与NodeAgent的交互完成对单元内节点的控制。图4.NodeAgentWASPlug-in在前面的章节我们讨论过受管节点是通过NodeAgent进程与DeploymentManager交互。而非受管节点,最常见的是web服务器节点(如IBMHTTPServer),则是通过Web服务器插件方式来接受DeploymentManager管理,加入到单元当中来的。IBMWASND产品支持所有符合规范的Web服务器的基本管理功能,可以为所有支持的Web服务器生成插件配置。插件生成之后,对于非受管节点,可以通过“传播给远程Web服务器”完成插件配置;如果定义在受管节点上,则直接通过节点间同步即可完成插件配置的传播。Web服务器插件允许Web服务器将动态内容的请求发送到应用程序服务器。Web服务器插件与每个Web服务器定义关联。为每个插件生成的配置文件(plugin-cfg.xml)基于通过关联的Web服务器路由的应用程序。Web服务器插件帮助面向的网络中的应用程序服务器之间的工作负载平衡,改进请求响应时间。图5.非受管节点通过插件接受管理概要文件(Profile)概要文件定义一个独立应用程序服务器(Server)的运行时环境,包括服务器在运行时环境中处理的所有文件。创建独立应用程序服务器时应该使用概要文件而不是多个产品安装,这样只需要保留一组产品核心文件即可,管理能力将得到极大的增强。不仅节省了磁盘空间,而且简化了产品的更新,只需要保留一组产品核心文件即可。而且与完整产品安装相比,创建新概要文件更快速,而且减少了出错的可能性,这允许开发者创建单独的产品概要文件以进行开发和测试。核心产品文件是由所有概要文件共享的产品二进制文件,如果希望二进制文件位于不同服务级别,在应用安装时设置。概要文件管理工具未提供删除功能,所以必须使用manageprofiles命令来删除概要文件。使用概要文件创建独立应用程序服务器,则每个定义的应用程序服务器进程都在profiles目录内,除非在创建概要文件时指定新目录。如果将概要文件放在安装根目录中,则存在概要文件可能被例行系统维护破坏的风险。这些文件在随创建新的概要文件、重新配置现有的概要文件或删除概要文件等操作而更改。IBMWASND提供了多种类型的概要文件,以下是最常用的三种:•单元概要文件基本功能是在DeploymentManager的管理下将应用程序提供给因特网或内部网。创建单元概要文件其实就是同时创建DeploymentManager概要文件和已联合到单元的节点概要文件,构建一个最简单的单元环境。在创建初始单元概要文件后,可单独创建定制概要文件或独立概要文件,再通过联合操作将他们添加到DeploymentManager管理的单元环境中。•DeploymentManager概要文件基本功能是将应用程序部署到WAS的管理单元。每个属于该单元的Server都作为受管节点引用。•ApplicationServer概要文件基本功能是将应用程序提供给因特网或内部网。IBMWASND产品的重要功能就是通过将Server节点添加到单元,调整独立应用程序服务器概要文件。单元中的多个应用程序服务器进程可以部署它需要的应用程序。也可以从单元除去Server节点以将节点返回到独立应用程序服务器的状态。每个独立应用程序服务器都具有其自己的管理控制台应用程序,可以使用它来管理Server。图6.一个节点对应一个概要文件,一个节点内可以有多个Server集群(Cluster)集群是一起进行管理并参与工作负载管理的多个服务器集合。作为集群成员的服务器可以位于不同的主机上,与此相对的是作为同一节点下的服务器必须位于同一台主机上。单元可以没有集群,也可以有一个或多个集群。集群负责平衡服务器之间的工作负载。作为集群一部分的服务器称为集群成员。当在集群上安装应用程序时,会在每个集群成员上自动安装此应用程序。当删除集群时,也就同时删除了该集群的成员的任何应用程序服务器。没有办法保存任何集群的成员。除去集群成员的仅有方法就是删除应用程序服务器。如果希望保留要删除的集群中的应用程序或模块,则应该先将这些模块重新映射至另一集群。图7.由两个节点内的三个Server组成的集群关于Node、Profile与Server这三个概念比较容易混淆,我们拿出来对比说明:Node=Profile。Node是管理上使用的概念,Profile是实际的概要文件,它们代表同一事物。Server就是所谓的ApplicationServerInstance,这是我们实际要布署Application的地方。在IBMWASND产品中受管节点的NodeAgent目的就是让DeploymentManagerServer可以透过NodeAgent来管Node(Profile)中的ApplicationServerInstance,一个Node(Profile)中可以有多个ApplicationServerInstance。如果是非ND版本,则属于SingleServer版本,那么一个Node(Profile)中只能有一个ApplicationServerInstance,如果你希望在一台机器上有多个ApplicationServerInstance,那就只能透过创建多个Profile(Node)来达成,但这些Node(Porfile)彼此独立没有管理上的关系(RelationShip),只要使用的TCP/IPPort不要冲突即可。安装规划说明安装规划说明安装规划说明安装规划说明::::Wnd集群需要安装一个管理节点和2个受管节点。管理节点作为集中管理接口管理WAS集群成员,并提供web管理界面,2个受管节点分别运行应用程序,处理商业逻辑,组成负载均衡的集群功能。一般有两种部署方式:2个受管节点部署于2台服务器上,管理节点可以单独安装在第三台服务器上,也可以和某一个受管节点安装在同一台服务器上,本例使用后者。如图:DeploymentManager为管理节点,Node1和Node2分别为受管节点。当前系统环境:两台服务器:wndserver1和wndserver2,ip分别是1181.5.7和1181.5.8。wndserver1部署DeploymentManager和ApplicationServer,wndserver2只手工部署ApplicationServer。集群成员集群成员集群成员集群成员1((((DM))))的安装的安装的安装的安装我们使用的是WAS7.0.5的ND版本,下载好应用程序后,找到下面的页面开始进入安装。进入安装向导可不用安装“样本应用程序”,点击下一步选择安装路径,我们将两台服务器的安装路径规定一致注意:第一台DM服务器选择“管理”,因为上面要安装DM,第二台选择“定制”选择DM安装启用用户安全管理下面的页面中不勾选安装完毕后,启动“安装验证”,弹出下面的页面表示安装成功停止DM服务器,开始安装补丁安装完毕后,首先启动DM启动“概要管理工具”,新增概要文件选择“定制概要文件”选择“典型”安装由于该概要文件所属的DM是本机,所以IP地址可如下,如果D