WebSphere多节点安装及"克隆"配置说明

第一部分:说明

本文以一个例子说明如何在win2000平台上实现WebSphere4.0的多节点安装和"克隆"的配置(在UNIX上的思路是一样的,具体细节可能不同)。这种安装和配置在实际生产环境中有广泛的应用,通过这个实验,我们可以对WebSphere、Web Server及数据库服务器之间的关系以及"克隆"有更深的理解。

多节点安装

WebSphere的最简单的安装是把Web服务器、应用服务器、数据库服务器安装在同一台机器上,这种安装的配置是最简单的。但在实际生产环境中,出于对性能和安全的考虑,这种安装并不多见。

WebSphere的设计,使它可以灵活的把不同的组件(Web服务器、应用服务器、数据库服务器)安装到不同的机器上。根据客户的需要,可以选择不同的安装拓扑。

实现最佳性能和最安全的安装,应该是管理数据库和应用服务器分离,有多台应用服务器来分担风险和性能。下图是一个常见的例子:

需要说明的是:Web服务器需要装应用服务器插件,通过插件文件的规则(plugin-cfg.xml)来转发请求,在WebSphere 4.0中,Web服务器通过http(https)协议与应用服务器相连。应用服务器通过DB2客户端与数据库相连。

关于克隆

WebSphere可以通过"克隆"来管理工作负载。对于大型的应用,可能即使一台很高档的服务器都无法满足需要,也可能在一台机器中只运行一个应用(JVM)无法充分的利用性能。通过对应用进行"克隆",可以解决上面的问题。

每一个应用可以看成是一个Java虚拟机,每增加一个克隆可以看作增加一个Java虚拟机。克隆可以分为垂直克隆和水平克隆。

垂直克隆是指在一台物理的机器上有多个应用的副本,这种克隆可以更好的利用机器的资源,在机器的性能比较高的情况下效果比较明显。

水平克隆是指在多台不同的机器上有多个应用的副本,这种克隆可以分担负载,某些机器的故障不会影响整体的应用。

通过这些克隆,WebSphere可以运行各种大型,甚至超大型的应用。

第二部分:系统拓扑结构

下图为本例的拓扑结构,在4台机器上分布的软件如图所示。WAS与DB2通过DB2Client相连,IBM Http Server通过WAS PlugIn与WAS相连。

首先,在各个机器上安装相应的软件,使它们能正常的处理请求。

在完成基本的安装配置后,我们会针对一个具体的应用(应用服务器),做垂直和水平的扩展。分布如下图。

第三部分:具体安装步骤

一、 安装DB2数据库服务器(machine4)

安装DB2数据库服务器,作为管理数据库。WebSphere需要把管理信息存放到关系型数据库中,在本例中我们使用的是DB2数据库,多个应用服务器的管理信息都放在同一个数据库中。

安装前工作

一、建立本地用户db2admin(建议),属于Administrators组。

二、使用本地安全策略工具,授予db2admin以下权限:

    Act as part of the Operating System
    Log on as a Service
    Create a token object
    Increase quotas
    Replace a process level token

三、使用netstat -an命令,检查以下端口是否被占用,如果被占用,证明以前版本db2没有被正确删除。

    - 523 (DB2 Administration Server)
    - 50000 (DB2 instance connection port)
    - 50001 (DB2 instance interrupt port)
    - 50002 (DB2 Control Server)

安装DB2服务器

一、 以db2admin登陆。

二、 启动DB2安装程序。

三、 选择安装DB2 Enterprise Edition。

四、 选择典型安装。

五、 选择安装目录。

六、 输入数据库管理员用户及密码,与本地用户一致。

七、 开始安装文件,系统提示是否安装OLAP Starter Kit,选择不安装。

八、 完成安装,重起机器,以数据库管理员登录(db2admin)。

验证DB2服务器安装

一、 运行db2cmd。

二、 输入db2level命令,显示当前数据库版本。

三、 确认安装数据库服务器不低于以下版本:"DB2 v7.1.0.43"。

四、 编辑系统services文件(位于C:/WINNT/system32/drivers/etc/目录下),检查是否有以下两行:

db2cdb2 50000/tcp #Connection port for DB2 instance db2
db2idb2 50001/tcp #Interrupt port for DB2 instance db2

五、 运行db2cmd。

六、 输入db2 get dbm cfg |more命令,显示系统db2参数,确认有以下显示

TCP/IP Service name (SVCENAME)=db2cdb2

配置DB2服务器

一、 为节省系统内存,可以改变以下服务的启动方式为手动方式:

DB2 Security Server
Warehouse Logger
Warehouse Server

二、停止"DB2 JDBC Applet Server",可以使用命令net stop "DB2 JDBC Applet Server"。

三、 行命令:<db2_install_path>/java12/usejdbc2.bat,升级jdbc版本到JDBC2.0。

四、 启动"DB2 JDBC Applet Server",可以使用命令net start "DB2 JDBC Applet Server"。

五、 检查<db2_install_path>/java12/inuse文件,确认使用jdbc2.0。

六、 运行db2cmd。

七、 运行db2set DB2COMM,显示当前连接。

八、 运行db2set DB2COMM=TCPIP,更新。

建立WAS管理数据库

一、运行db2cmd。

二、 运行以下命令,建立数据库并改变heap size。

db2 create db was1
db2 update db cfg for was1 using applheapsz 256

三、 运行以下命令,验证数据库已经正确建立。

db2 list db directory
	显示如下:
Database 1 entry:
Database alias =WAS1
Database name =WAS1
Database drive =D:/DB2
Database release level =9.00
Comment =
Directory entry type =Indirect
Catalog node number =0

四、 运行以下命令,catalog数据库。<node_name>可以任意选择,但必须前后一致。<service_name>必须和services文件中一致(db2cdb2)。

db2 catalog tcpip node <node_name>remote <local_hostname> server <service_name>
db2 catalog db was1 as was at node <node_name>
(对was1进行编目,从而使我们可以通过TCP/IP协议进行数据库访问)

五、运行以下命令,验证catalog已经正确建立。

db2 list db directory
	显示如下:
			Database 2 entry:
Database alias =WAS
Database name =WAS1
Node name =<node_name>
Database release level =9.00
Comment =
Directory entry type =Remote
Catalog node number =-1

六、使用数据库管理员用户和密码,验证能正确连接数据库。

db2 connect to was user <db2admin_user>using <db2admin_passwd>
db2 disconnect current

七、 关闭db2cmd窗口。

八、 建立本地用户,作为访问用户(was)。

九、 运行db2cmd。

十、 运行以下命令,赋予访问用户(was)访问权限。

db2 connect to was user <db2admin_user>using <db2admin_passwd>
db2 grant connect,createtab on database to user <was_user>
db2 disconnect was

十一、验证访问用户可以正常访问:

db2 connect to was user <was_user>using <was_password>

十二、断开连接:

db2 disconnect current

十三、关闭db2cmd窗口。

二、安装DB2 Client端(machine2、3)

该步骤分别在machine2、3上进行。使machine2、3可以通过DB2 Client连接merchine4上的数据库,为安装WAS做准备。

安装前工作

一、建立本地用户db2admin(建议),属于Administrators组。

二、使用本地安全策略工具,授予db2admin以下权限:

Act as part of the Operating System
Log on as a Service
Create a token object
Increase quotas
Replace a process level token

三、使用netstat -an命令,检查以下端口是否被占用,如果被占用,证明以前版本db2没有被正确删除。

- 50000 (DB2 instance connection port)

安装DB2 Client

一、 db2admin登陆。

二、 启动DB2安装程序。

三、 选择安装Administration Client。

四、 选择Typical方式,进行典型安装。

五、 选择安装目录。

六、 取消选择Configure NetBIOS for connection to DB2 server。

七、 输入数据库管理员用户及密码,与本地用户一致。

八、 开始安装文件。

九、 安装完成。

验证DB2 Client安装

一、 运行db2cmd。

二、 输入db2level命令,显示当前数据库版本。

三、 确认安装数据库服务器不低于以下版本:"DB2 v7.1.0.43"。

配置DB2 Client

一、 节省系统内存,可以改变以下服务的启动方式为手动方式:

DB2 Security Server
Warehouse Logger
Warehouse Server

二、停止"DB2 JDBC Applet Server",可以使用命令net stop "DB2 JDBC Applet Server"。

三、命令:<db2_install_path>/java12/usejdbc2.bat,改变jdbc版本。

四、启动"DB2 JDBC Applet Server",可以使用命令net start "DB2 JDBC Applet Server"。

五、检查<db2_install_path>/java12/inuse文件,确认使用jdbc2.0。

建立到远程数据库访问

一、 编辑系统services文件,添加以下一行。

db2cdb2 50000/tcp #Connection port of remote DB2 instance db2

二、运行db2cmd命令。

三、运行以下命令,catalog管理数据库

db2 catalog tcpip node <node_name> remote <remote_hostname> server <service_name>
db2 catalog db was1 as was at node <node_name>
(将machine4上的DB-WAS编目到本地-machine2,machine3).

四、运行以下命令,验证可以正确连接到管理数据库

db2 connect to was user <db2admin_user>using <db2admin_passwd>
db2 connect to was user <was_user>using <was_password>
db2 disconnect was

五、关闭db2cmd窗口

三、安装WAS 4.0服务器(machine2、3)

该步骤分别在machine2、3上进行。需要注意的是并不安装默认的IBM Http Server,两台机器的WAS版本必须一致,否则无法进行clone。

安装前工作

一、建立本地用户wasadmin(建议),属于Administrators组。

二、使用本地安全策略工具,授予wasadmin以下权限:

-Act as part of the Operating System
-Log on as a Service

三、使用netstat -an命令,确保以下端口没有被占用。

- 900 (bootstrap port)
- 9000 (Location Service Daemon)
- 9080 (default application server)

安装WAS

一、 确保以系统管理员身份登录

二、 运行IBM WebSphere Application Server V4.0, Advanced Edition安装程序

三、 选择语言

四、 选择Custom Installation方式安装

五、 选择全部组件,除了IBM HTTP Server。

六、 选择插件

七、 输入WAS管理员用户及密码

八、 选择安装目录

九、 输入管理数据库信息如图(默认)

十、 接受其他默认选择,完成拷贝文件

十一、选择I will restart my computer later,安装结束后并不马上重起机器。

十二、把文件 /bin/createwasdb.scr命名为<WAS_HOME>/bin/createwasdb.bak。(从而避免重起后,重建WebSphere的管理数据库)

十三、检查<WAS_HOME>/logs/wssetup.log文件,确认没有安装错误。

十四、重起机器,以管理员登录。

验证WAS安装

一、 检查<WAS_HOME>/logs/wssetup.log文件,确认没有错误

二、确认存在IBM WS AdminServer 4.0windows服务

三、检查<WAS_HOME>/bin/admin.config文件,确认管理数据库信息正确,db2 Client设置正确。

四、 启动WAS4.0服务器,可以使用以下命令或其他方式<WAS_HOME>/bin/adminserver.bat

五、 启动管理控制台:<WAS_HOME>/bin/adminclient.bat

六、 启动默认应用服务器

七、 检查默认应用服务器正确启动

在machine2、3上完成以上步骤后,应该可以看到两个节点,因为它们公用一个管理数据库。

八、验证:

打开IE,输入如下的URL: http://localhost:9080/servlet/snoop ,显示如下

因为在WebSphere4.0中内置了简化的HTTP Server(为了直接与WebServer之间通过HTTP/HTTPS进行通信)。所以,无需安装WebServer,就可以直接与WebSphere4.0进行交互(在测试环境下)

四、安装IBM Http服务器(machine1)

安装前工作

一、建立本地用户wasadmin(建议),属于Administrators组。

二、使用本地安全策略工具,授予wasadmin以下权限:

-Act as part of the Operating System
-Log on as a Service

三、使用netstat -an命令,确保以下端口没有被占用。

- 80 (standard HTTP port)
- 443 (standard HTTPS port)
- 8008 (IBM HTTP Server Administration port)

安装Http Server

一、 保以系统管理员身份登录

二、 运行IBM HTTP Server安装程序

三、 选择语言

四、 接受协议

五、 选择安装目录

六、 选择Typical安装方式

七、 输入管理员信息(默认)

八、 接受其他默认选择,完成安装。

九、 重起机器,以管理员角色登录

配置Http Server

如果不需要增加其他管理员,可以省略这一步。

验证Http Server安装

一、启动IBM HTTP Server

D:/>net start "IBM HTTP Server"
D:/>net start "IBM HTTP Administration"

二、输入http请求,验证IBM HTTP Server正常启动

五、安装WAS 4.0插件(machine1)

在machine1上安装WAS 4.0插件,使http server能够通过WAS 4.0插件与WAS4.0连接。

安装前工作

一、停止http server:net stop "IBM HTTP Server"

安装WAS 4.0插件

一、 确认以本地管理员身份登录

二、 行IBM WebSphere Application Server V4.0, Advanced Edition安装程序

三、 选择语言

四、 选择Custom Installation方式安装

五、 只选择Web server plug-in组件

六、 选择IBM HTTP Server选项

七、 输入管理员id和密码(wasadmin)

八、 选择安装目录

九、 接受其他默认选择,完成安装

十、 重起机器,以管理员身份登录

六、 综合配置、验证安装

在machine2或者3上进行,在WAS4.0管理控制台上增加虚拟主机名,生成插件配置文件,把插件配置文件拷贝到http server上Plug_In的目录下,重起http server。

添加虚拟主机

一、如果WAS4.0服务器没有启动,启动它。可以使用以下命令或其他方式<WAS_HOME>/bin/adminserver.bat

二、启动管理控制台:<WAS_HOME>/bin/adminclient.bat

三、在管理控制台上,增加machine1、machine2、machine3的虚拟主机名。按以下方式进行:

<Web server hostname>:<port#>
<Web server hostname.domain.com>:<port#>
<Web server IP address>:<port#>

完成后的虚拟主机列表大致如下:

四、 确认更改,重起两个节点的相关应用服务器。

生成、拷贝插件配置文件

一、分别选择两个节点,右键选择"Regenerate the Web server plug-in settings",重新生成<WAS_HOME>/config/plugin-cfg.xml文件

二、把<WAS_HOME>/config/plugin-cfg.xml文件拷贝到machine1对应目录下。因为虚拟主机列表在管理数据库中一致,所以machine2和machine3生成的plugin-cfg.xml文件一致。

三、重新启动http server。可以用net start "IBM HTTP Server"。

五、 发起http请求:http://machine1/servlet/snoop,检查响应页面。

七、配置多节点"克隆"

使用sampleApp.ear文件,部署应用服务器。根据这个应用服务器,生成服务器组,然后生成"克隆",垂直和水平的分布到machine2和machine3上。

删除默认应用服务器

一、启动管理控制台:adminclient.bat

二、停止全部应用服务器

三、删除machine2、machine3上的企业应用程序Sample Application

四、删除machine2、machine3上的应用服务器

添加应用服务器

一、 使用向导,在machin2或者machine3上建立应用服务器app1

二、使用菜单:控制台-〉向导-〉安装企业应用程序。在应用服务器app1上安装应用程序。

三、在"安装企业应用程序"向导中,选择ear文件sampleApp.ear,接受其他默认选项,完成安装。

生成服务器组

一、 选择已经创建的应用服务器app1,右键选择"创建服务器组…",出现向导

二、在向导中,输入服务器组名ServerGroup1,接受其他默认选项,建立服务器组。

生成"克隆"

一、 管理控制台中,选择ServerGroup1,右键选择"新建…"-〉"克隆…",出现向导。

二、在向导中选择需要部署的节点,输入"克隆"的名称,接受其他默认选项,完成"克隆"。在本例中应用服务器app1部署在machine2,clone1部署在machine2,clone2部署在machine3,clone3部署在machine3。在单台的节点上实现垂直扩展,在不同的节点上实现水平扩展。

安装应用文件

一、 在实现了"克隆"而并没有物理部署文件的机器(machine3)上,拷贝machine2上<WAS_HOME>/installedApps/下的已经部署文件目录,复制到machine3上。

启动服务器组

一、在管理控制台选择服务器组ServerGroup1,选择"高级"页,在"工作负荷管理选择策略"中选择"循环",设置访问机制。在本例中访问被平均的分布到四个应用服务器中。

二、在管理控制台选择服务器组ServerGroup1,右键选择"启动",四个应用服务器都被启动。

重新生成插件配置文件

一、在管理控制台分别选择两个节点,右键选择"Regenerate the Web server plug-in settings",重新生成<WAS_HOME>/config/plugin-cfg.xml文件。

二、把<WAS_HOME>/config/plugin-cfg.xml文件拷贝到machine1对应目录下。

三、重新启动http server。可以用net start "IBM HTTP Server"。

四、发起http请求:http://machine1/servlet/snoop,检查响应页面。

第四部分:注意事项

到此为止,整个环境就建立起来了,下面是一些需要注意的事项:

一、应用服务器需要保证版本一致,否则无法进行"克隆"。

二、 注意插件文件的更新。

三、 "克隆"过程中,需要把部署的应用程序文件拷贝到没部署的机器上。

关于作者

吴晓超,长期从事Java及中间件产品的开发和实施工作。现为广州天懋数码技术部副经理,曾工作于工商银行广东省技术保障处。清华大学工程物理系毕业,工科学士。联系邮件:247@163.net

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值