【技术维新 践行精彩】WebSphere7集群部署实践与总结

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


一、安装环境和文件版本

操作系统:SUSE LINUX 10 SP3 企业版

Websphere版本:WAS7.0

安装部署环境:一台DM+APP  另一台APP  还有两个IHS服务器(或者也可装在两个APP上)

二、集群部署方案图

如图所示

中间件平台主要包括两大部分:

负载分发层:

包括两台服务器,通过Heartbeat实现HA,提供浮动IP给客户端,保证了系统不存在单点故障问题

负载分发软件采用IBM HTTP Server实现

通过IBM HTTP Server配置虚拟主机,实现对不同应用的请求分发到不同的后台WAS中间件集群。

WAS中间件集群:

包括两台服务器,每个服务器上通过水平扩展可以启动多个WAS服务器。

基于应用部署要求,为每个应用建立一个集群,逻辑上实现应用之间的隔离。

保证一个集群至少包括2个WAS实现,并且这两个实例分别在不同的物理服务器上,这样才能保证不出现单点故障。

三、WebSphere7集群安装

1、安装前的检查

集群安装时,确认所有机子的时间日期要一致

确认磁盘空间足够

安装目录都是安装于默认的/opt目录下

确认管理域之内的所有的服务器主机名和ip地址相互能够ping通

在安装前,要确保四台机的/etc/hosts文件里面增加四台机的ip与主机名,修改如下

**.**.**.1           app1

**.**.**.2           app2

**.**.**.3           server1

**.**.**.4           server2

(对于初次安装系统后的主机,因为没有在HOSTS文件中增加此类记录,会导致安装失败,现象是安装后生成的profiles不完整,并且startManager.sh执行失败,启动不了管理服务。另外,安装完WAS后,不能随意修改主机名,否则WAS的服务启动不了,需要重新安装)

2、开始安装

上传安装的软件介质到指定的服务器,配置服务器能够用xmanager或VNC进行图形化安装。如不能进行图形化安装,则需要修改was或his下的responsefile.txt文件中的各参数,工作量大而且易出错。

进入suse linux环境,打开终端,打开文件系统,在was安装目录下找到launchpad.sh脚本 ,./launchpad.sh运行

下一步,进入下一个安装画面

选择I ACCEPT,再下一步使用默认的安装目录(也可自定义安装目录)

接下来再进行下一步,选择第一项安装CELL,会安装dmgr01与appsrv01,并且自动联结。

注:app1主机是管理控制的主机需安装dmgr与appsrv,app2只安装一个Application Server(APPSRV),这是两台应用服务器安装过程的唯一区别

设置管理用户与口令

后面下一步下一步,直至安装完成。

安装成功完成后,在app1主机下的/opt/IBM/WebServer/AppServer/profiles目录下可看到DMGR01,APPSRV01两个目录。其中DMGR01是管理台概要文件,只在app1主机上有。


同样,在主机app2机上安装was后,在app2下的/opt/IBM/WebServer/AppServer/profiles目录下可看到APPSRV01一个目录。


在app1主机下的profiles\DMGR01\FIRSTSTEPS目录下,

运行firststeps.sh,可进行安装后检测

检测结果如果正常,则DMGR服务可正常启动,访问端口是9060

此时到IE,可打开WAS控制台

http://**.**.**.**:9060/ibm/console


输入用户名和密码,进入主控画面

此时在服务器可以看到一个SERVER1,但没有启动代理服务前,前台是不能启动的。

需到服务器下运行。

# cd Profiles/AppSrv01/bin

# ./startNode.sh

节点代理启动

ADMU0116I: Tool information is being logged in file

          /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/nodeagent/startServer.log

ADMU0128I: Starting tool with the AppSrv01 profile

ADMU3100I: Reading configuration for server: nodeagent

ADMU3200I: Server launched. Waiting for initialization status.

ADMU3000I: Server nodeagent open for e-business; process id is 330


此时再到前控制台,可正常启动server1了


(或者在服务器下运行命令./startServer.sh Server1 ,同样可以启动服务)


至此,主机APP1安装并验证完毕。


在APP2上:

过程同app1机,不同处只是在概要文件创建里不选择cell,只选择一个application server就行了。

安装执行完成后,检查profiles下,已有appsrv01

至其下的bin执行如下脚本,关联节点NODE2到主机app1(server1)的DMGR服务节点

cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin

./addNode.sh  **.**.**.** 8879

其中IP地址是主机app1的IP,后面的8879是SOP端口。


输入app1上DMGR01管理用户wasadmin,口令******


执行成功

# ./addNode.sh  **.**.**.** 8879

ADMU0116I: Tool information is being logged in file

          /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/addNode.log

ADMU0128I: Starting tool with the AppSrv01 profile

CWPKI0308I: Adding signer alias "CN=APP1, OU=Root Cer" to local

          keystore "ClientDefaultTrustStore" with the following SHA digest:

          B5:37:07:88:00:A4:78:10:95:B0:56:17:3C:8D:A9:A7:C0:BD:76:3F

Realm/Cell Name:

Username: admin    

Password:      

CWPKI0308I: Adding signer alias "datapower" to local keystore

          "ClientDefaultTrustStore" with the following SHA digest:

          A9:BA:A4:B5:BC:26:2F:5D:2A:80:93:CA:BA:F4:31:05:F2:54:14:17

ADMU0001I: Begin federation of node AAAAAPP2-******Node01 with Deployment

          Manager at **.**.**.36:8879.

ADMU0009I: Successfully connected to Deployment Manager Server:

          **.**.**.36:8879

ADMU0505I: Servers found in configuration:

ADMU0506I: Server name: server1

ADMU2010I: Stopping all server processes for node AAAAAPP2-******Node01

ADMU0512I: Server server1 cannot be reached. It appears to be stopped.

ADMU0024I: Deleting the old backup directory.

ADMU0015I: Backing up the original cell repository.

ADMU0012I: Creating Node Agent configuration for node: AAAAAPP2-******Node01

ADMU0014I: Adding node AAAAAPP2-******Node01 configuration to cell:

          APP1Cell01

ADMU0016I: Synchronizing configuration between node and cell.

ADMU0018I: Launching Node Agent process for node: AAAAAPP2-******Node01

ADMU0020I: Reading configuration for Node Agent process: nodeagent

ADMU0022I: Node Agent launched. Waiting for initialization status.

ADMU0030I: Node Agent initialization completed successfully. Process id is:

          6848

ADMU0300I: The node AAAAAPP2-******Node01 was successfully added to the

          APP1Cell01 cell.

ADMU0306I: Note:

ADMU0302I: Any cell-level documents from the standalone APP1Cell01

          configuration have not been migrated to the new cell.

ADMU0307I: You might want to:

ADMU0303I: Update the configuration on the APP1Cell01 Deployment

          Manager with values from the old cell-level documents.

ADMU0306I: Note:

ADMU0304I: Because -includeapps was not specified, applications installed on

          the standalone node were not installed on the new cell.

ADMU0307I: You might want to:

ADMU0305I: Install applications onto the APP1Cell01 cell using

          wsadmin $AdminApp or the Administrative Console.

ADMU0003I: Node AAAAAPP2-******Node01 has been successfully federated.


此时再到app1主机的DMGR控制台可以看到节点app2主机的SERVR1


可以启动app2机上的SERVER1。(在app2机上的profiles/appsvr01/bin下执行./startServer.sh server1也可)


四、WebSphere7集群配置

把app1与app2的应用服务放在集群中

1、删除两个应用服务器下的单个SERVER。

停止两个服务后,删除,保存设置。

把单个服务器删除


2、建集群,起名HR_cluster

注意:把配置HTTP会话内存到内存的复制勾上。


下一步分别对应两应用服务主机,各一个SERVER,分别名称为

app1

app2

集群建完后如下


进入系统管理->节点中同步各节点


然后启动集群,集群可正常启动


至此,两台应用服务器的集群安装完毕!


五、安装IHS HTTP WEB服务器

安装IHS HTTP SERVER与PLUGINS插件

解压程序安装包后,执行http_ins/ihs/目录下的install.sh文件,用xmanager来执行该文件进行安装。


安装画面如下:

第一步设置端口,选择默认的

Web1机的http port 80

http administration port 8008


后面一步,在设置插件安装目录与应用服务器主机名称那里,

app1对应的插件安装目录是默认的/opt/IBM/HTTPServer/plugins

对应的应用服务主机名设为 app1

(注意:app2那台机安装httpserver时,选择对应的应用服务主机设为app2,其他过程都相同)

注意在管理用户与口令那里设置为admin,******

注意:因为这两个web服务器要通过另外一台应用服务器的dmgr来管理,所以这里的安全管理用户与口令要设。否则dmgr上无法管理启停。


下面这一步,设置用户与组分别为nobody,nobody

(注意:这个用户与组在etc/group,passwd,shadow中要有)

两台IHS HTTP WEB服务器的启动过程

正常过程:

在两台WEB服务器下,HTTPServer/bin目录下,执行如下脚本,启停apache服务

./apachectl start

提示./adminctl start: admin http started


回到app1的DMGR主控制台,建立WEB服务节点与启动管理。

选择系统管理->节点,增加非受管制的两个WEB节点(前面两个app节点是受管制节点)


点添加,选择非受管节点


为WEB1机上的节点命名并设置主机名称

非受管节点名称:servernode01

主机名:server1


第一个节点添加成功


再同样操作继续添加第二个非受管节点

非受管节点名称:servernode02

主机名:server2


然后回到服务器类型下,选择WEB服务器,选择两个非受管节点,分别去创建WEBSERVER


下一步后,增加设置属性,管理用户与口令 .用户与口令是在WEB机上安装IHS HTTP SERVER时的设置admin,admin


完成第一个WEB节点上WEBSERVER的创建


同上操作再去完成第二个web服务节点的webserver创建。

两个都创建完毕后。选择生成插件(Generate plug-in)和传播插件(Propagate Plug-in)


生成插件成功,提示如下:

PLGC0005I: Plug-in configuration file =


/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/APP1Cell01/nodes/webnode1/servers/webserver1/plugin-cfg.xml

PLGC0052I: Plug-in configuration file generation is complete for the Web server. APP1Cell01.webnode1.webserver1.

PLGC0005I: Plug-in configuration file =


/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/APP1Cell01/nodes/webnode2/servers/webserver1/plugin-cfg.xml

PLGC0052I: Plug-in configuration file generation is complete for the Web server. APP1Cell01.webnode2.webserver1.


传播插件成功,提示如下:

PLGC0062I: The plug-in configuration file is propagated from


/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/APP1Cell01/nodes/webnode1/servers/webserver1/plugin-cfg.xml to


/opt/IBM/HTTPServer/Plugins/config/webserver1/plugin-cfg.xml on the Web server computer.

PLGC0048I: The propagation of the plug-in configuration file is complete for the Web server. APP1Cell01.webnode1.webserver1.

PLGC0062I: The plug-in configuration file is propagated from


/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/APP1Cell01/nodes/webnode2/servers/webserver1/plugin-cfg.xml to


/opt/IBM/HTTPServer/Plugins/config/webserver1/plugin-cfg.xml on the Web server computer.

PLGC0048I: The propagation of the plug-in configuration file is complete for the Web server. APP1Cell01.webnode2.webserver1.


两个WEB服务已建立,并可通过DMGR 来控制启停。


最后安装补丁加强系统的安全性。至此整个部署过程完毕。


你可能感兴趣的:(【技术维新 践行精彩】WebSphere7集群部署实践与总结)