在WAS6.0 ND中实现集群

来源:百度文库 编辑:神马文学网 时间:2024/04/23 22:14:29

在WAS6.0 ND中实现集群

文档选项

将此页作为电子邮件发送


最新推荐

Java 应用开发源动力 - 下载免费软件,快速启动开发


徐明伟, IBM软件工程师
解永刚, IBM软件工程师

2006 年 4 月 05 日

本文通过两个实际场景,介绍如何从头搭建一个WAS ND水平集群环境以及如何将一个已有的单节点(或三节点)Web环境扩展成五节点的集群环境。

1. 介绍

当前,越来越多的企业用户基于WebSphere应用服务器和DB2数据库环境搭建业务系统,实现电子商务。随着业务量的增大,企业对系统的负载量和高可用性提出了更多的要求,特别是一些关键业务,如金融,通信,交通等,要求确保系统24*7*365的可用性。通过WAS ND集群,可以实现包含多个应用服务器的分布式环境,确保系统的吞吐量和高可用性。本文通过两个实际场景,介绍如何从头搭建一个WAS ND水平集群环境以及如何将一个已有的单节点(或三节点)Web环境扩展成五节点的集群环境。





回页首

2. WAS ND集群基本概念及体系结构

什么是集群?WAS集群由一组应用服务器组成,每个服务器上部署了同样的应用程序。通过集群可以实现可扩展性(服务更多客户,提高吞吐量),负载均衡(平衡负载资源,使资源得以有效利用),高可用性(提供故障恢复和补偿机制,在关键性业务中提供容错功能)。WAS ND提供水平集群和垂直集群两种形式,垂直集群是指同一机器上部署多个服务器,充分利用硬件资源,而水平集群利用多台机器资源,每台机器部署相同的应用。本文主要侧重水平集群,但是其中的很多概念对于垂直集群也是适用的。

图2.1是ND分布式环境的体系结构,包括单元、节点、服务器等基本概念。每个单元是单一管理域中的一组节点,在基本版和演示版中,一个单元只包含一个节点,每个节点可以有多个服务器,但是每个服务器的配置文件是单独存储和维护的。每个单元可以包含一个或多个集群,也可以不包含集群。在分布式环境中,每个单元包含多个节点,这些节点被统一管理,而且它们的配置文件被中心化到单元主配置文件中。配置管理器线程负责管理这些集中配置文件,并且将任何配置变化同步到每个节点上。节点是服务器线程的逻辑组,每台机器上只能有一个节点,通过节点代理器同配置管理器通信。在ND环境中,WAS plugin起到负载均衡的作用,在plugin-cfg文件中可以定义每个服务器的权重,根据权重值,plugin决定将一个请求定向到哪个服务器。


图2.1WAS 6.0 ND分布式环境的体系结构





回页首

3. 搭建WAS ND集群环境

在实际的企业应用中,存在两种不同的集群场景,一种是从头搭建集群环境,然后将应用部署到集群中;另外一种是基于已有的单节点环境(或三节点环境)扩展成集群环境。本文将会覆盖这两种场景的配置和部署,为读者提供切实可行的指导。

图3.1是最终的集群环境,包含五个节点,分布在五台机器上,一台用于部署Deployement Manager,作为集中管理接口管理WAS集群成员;两台作为WAS集群成员,具体处理商业逻辑;一台作为Web服务器,用于接收用户请求,并通过plugin配置文件将负载均衡到WAS集群成员上。一台作为数据库节点,存储企业数据。此例中, DM节点和Web服务器节点是Window操作系统,其余均为AIX5.2操作系统。对于Web服务器的选择,可以是任何WAS支持的服务器,在此我们选择IBM HTTP Server(IHS),对于其他Web服务器,其基本原理是一样的,不同的是某些配置和操作需要手工处理。对于数据库服务器,其基本操作完全一致,此例中我们选择DB2。


图3.1 五节点cluster拓扑

场景1:从头搭建ND集群环境

在这个场景中,企业一开始就有集群环境的需求,这就需要首先搭建集群环境,然后在cluster上部署企业应用程序。以下是详细操作步骤,最后通过部署一个企业应用来测试。

一. 准备WAS 配置管理节点

1. 在silkpc01 服务器上安装WAS6 ND 版本(安装结束后不要立即创建profile).注意安装最新的补丁.

2. 用profile向导创建一个配置管理profile. 首先选择配置管理profile作为profile类型,默认的DM profile名称是Dmgr01.



3. 接下来的步骤选择默认值,记住SOAP连接端口号,默认值是8879.这个端口号会在以后的配置中用到。



4. 运行/Dmgr01/bin/startManager.bat启动管理服务.

5. 登陆http://silkpc01.cn.ibm.com:9060/admin管理控制台确认安装是否成功.

二. 准备Web Server节点

1. 在silkpc06服务器上安装 IBM IHS6.0(选择典型安装)

2. 确保IHS安装成功. 启动Web server,测试http://silkpc06/返回页

三. 安装配置WAS Plugin

对于静态Web页面请求,Web Server会直接处理并将结果返回给终端用户。而对于动态Web页面,如JSP,Servlet等,需要WAS plugin将请求传递给WAS Web容器或者EJB容器来处理。下面将介绍如何安装和配置WAS plugin应用。

1. 确认IBM IHS6.0安装成功后,安装WAS plugin应用程序,选择"IBM HTTP Server V6"



2. 在接下来的步骤中选择plugin的安装路径,IHS配置文件httpd.conf的位置,指定Web服务名字,缺省是webserver1

3. 然后选择Deployement Manager所在服务器的作为应用服务器,这里是silkpc01



四. 把Web Server节点加入配置管理服务器.

1. 开启IHS的admin管理: 在silkpc06/bin目录下运行httpasswd -cm \conf\admin.passwd admin(admin 是以后管理IHS的用户名). 接着输入两次密码.

2. 在silkpc06的服务管理面板中启动IBM HTTP Server 和 IBM HTTP Administration Server.

3. 将silkpc06的/bin/ configurewebserver1.bat文件拷贝到silkpc01的/bin目录.

4. 在silkpc01上启动DM服务 < was-install >/profiles/ profiles\Dmgr01\bin\ startManager.bat.

5. 在silkpc01打开一个命令行窗口,运行

6. 到配置管理控制台确认Web Server被成功加入.



7. 点击webserver1, 进入后在"additional properties"页中点击"remote web server",输入在第1步中生成的用户名和密码。这样Web Server就可以被配置管理器进行集中管理,包括停止/启动,以及plugin文件的生成和部署。

五. 准备应用服务器节点

1. 在psvt12 服务器上安装WAS6,注意安装最新的WAS补丁

2. 执行< was-install >/ bin/ProfileCreator/ pctAIX.bin 启动profile向导.

3. 选择应用服务profile作为profile类型.

4. 其余步骤使用默认值安装.

5. 在另外一个WAS节点psvt07上执行1至5步.

六. 把应用服务器节点加入到集中管理单元

1. 为保持同步,确保silkpc01, psvt12 和psvt07三台机器上的时间差不超过5分钟.

2. 在psvt12上执行< was-install >/ profiles/AppSrv01/bin/startServer.sh server1 启动 server1

3. 在psvt12上执行< was-install >/ profiles/AppSrv01/bin/addNode.sh 把psvt12节点加入到集中管理单元. 本例中DM机器名是silkpc01, soap端口号 为8879.

4. 在另外一台节点psvt07上重复2至3步将此节点也加入到集中管理单元.

5. 在配置管理控制台确认psvt07和psvt12加入到集中管理单元,如下图:



七. 准备数据库节点

1. 在数据库服务器psvt06上安装DB2 v8.2.

八. 创建cluster

1. 在WAS节点psvt07和psvt12上运行/bin/startNode命令启动node agent

2. 登录管理控制台,创建Cluster。输入Cluster名字,点击Next.

      

 

3. 输入psvt07作为成员名字, 在"Select node"下拉列表中选择psvt07Node01, 点击Apply.



4. 在同一页面输入psvt12作为成员名字, 选择psvt12Node01, 点击Apply.



5. 点击Next查看Cluster信息.



6. 点击finish创建cluster

7. 点击save保存和同步cluster(注意:在Cluster环境中,保存任何修改时都应该选上"与节点同步"的选项)



8. 确认cluster创建成功.从下图可以发现psvt07和psvt12已经作为cluster成员



至此我们已经完成了cluster的创建,接下来需要部署一个企业应用来测试。

九. 创建数据源(Datasource)

为了让将来发布在Cluster上的应用能连接到数据库, 我们需要在psvt07和psvt12节点上创建相同的数据源.

1. 登录管理控制台, Security'Global security->JAAS Configuration->J2C Authentication data , 点击New.

2. 输入数据库节点上的数据库用户及密码,点击Apply保存



3. 进入管理控制台, Resource'Jdbc Provider, 选择psvt07节点.然后点击New创建一个新的Jdbc Provider. 注意此处应该是在节点范围。如果在cluster级别,可能出现问题。



4. 选择Jdbc Provider类型和实现类



5. 点击Apply按钮保存Jdbc Provider, 并点击Data sources.



6. 点击New创建一个新的Data sources.

7. 输入jdbc/sample作为JNDI名字.



8. 输入数据库sample和数据库节点所在的主机名,选择上面新建的J2C认证.



9. 保存和同步新建的内容.

10. 设置psvt07节点的变量. Enviromnet->Wesphere Variables, 选择psvt07节点并设置DB2 JDBC driver路径.



11. 重复5至12步, 在psvt12节点上创建一个相同的DataSource.

12. 在silkpc01上重启DM服务, 在psvt07和psvt12上重启nodeagent服务。可以通过"Test Connection"测试节点的数据源配置是否正确。

十. 部署应用程序,测试集群环境

1. 下载应用程序到本地并解压缩。

2. 在数据库节点创建数据库sample(确保数据库名和第九步中键入的数据库名一致),并创建表(ddl.txt),加载数据(data.txt)。

3. 登录管理控制台发布应用, Applications->Install New Application, 选择Department.ear 作为发布的应用, 点击Next.

4. 选择default_host作为 Virtual host, 点击Next.

5. 输入应用的名字, 点击Next.

6. 在server列表中选择 TestCluster, 在模块(Module)列表中选择DepartmentEJB,点击Apply.

7. 按住Ctr键, 在server列表中选择 TestCluster和WebServer1, 在模块列表中选择DepartmentWeb, 点击Apply.



8. 点击Next.

9. 确认CurrentBackendId 为DB2UDBNT_V82_1,点击Next.

10. 点击Next.

11. 在应用部件列表中, 输入jdbc/sample 作为DepartmentEJB的Data Source 的JNDI名字.

12. 忽略出现的警告,点击Continue.

13. 在应用部件列表中, 输入jdbc/sample 作为DepartmentEJB的Data Source 的JNDI名字.

14. 忽略出现的警告,点击Continue.

15. 点击Next.

16. 确认DepartmentWeb的Virtual host 是default_host, 点击Next.

17. 点击Next.

18. 点击Finish部属应用在Cluster上.

19. 保存和同步新的修改.

20. 重新启动cluster.

21. 确认应用程序启动后,在IE浏览器键入:http://silkpc06/DepartmentWeb/getDepartmentName.html,输入部门号A00并提交,确认系统返回一个正确的页面.

 

场景2: 拆分WAS 单节点环境为ND集群环境

如果企业的最初应用搭建在单节点之上,即WAS应用服务器、Web服务器和数据库都在同一物理机器上。或者应用搭建在三节点,WAS应用服务器、Web服务器和数据库分布在三台机器。但是随着业务需求的增加,用户希望在保持现在投资的基础上提供更高的扩展性,容错性和处理性能,这就有了集群环境的需求。本场景将介绍如何将此单节点(或三节点)扩展成图3-1拓扑的五节点环境。对于单节点环境,您需要从第一步开始操作,而对于已有的三节点环境,则可以省去第-和第二步的部分操作,免去单节点拆分成三节点的步骤,而进入第三步。

在此我们假设本文提供的应用程序已经发布到psvt12节点,此节点包含WAS, IHS和DB2环境,并且应用系统可以正常的工作。 (http://psvt12/DepartmentWeb/getDepartmentName.html).

一. 准备安装其他各节点

1. 在silkpc01节点上安装WAS6 ND 版本, 并用profile向导创建一个配置管理profile.

2. 在另外一个Cluster成员psvt07 节点上安装WAS6 ND 版本, 并用profile向导创建一个应用服务profile. 并在此节点安装DB2客户端.

3. 在Web服务器 silkpc06上安装IBM IHS 6.0 和WAS Plugin. 安装Plugin时,选择Remote方式, 选择silkpc01为应用服务器。并开启IHS的admin远程管理服务. (请参照场景一)

4. 在数据库节点psvt06节点上安装DB2 8.2服务器

二. 把psvt12上的应用拆分到三节点上

1. 在psvt12节点上备份当前的数据库,并把该数据库备份文件上传到psvt06