WAS集群有一个优点,就是使用同步的内存作为会话保持,无需使用特殊的回话保持方案,就可以实现多个节点负载均衡的效果。同一个用户登录后,他的session会在所有节点的内存中都拥有相同的拷贝,所以无需担心轮训造成的登录状态失效的问题。另外WAS集群可以使用图形化的WEB页面进行各个节点的管理,同一个WAR包只需部署一次就会在各个节点中进行同步,十分的方便。
要使用WAS集群,首先要向IBM购买相关的软件包、光盘和授权。然后会收到一些安装文件。主要的安装文件有如下几个
1、IM(Install Manager)安装包,zip格式,大小为163MB左右
2、WAS主程序,分为3个zip包,每隔压缩包900M左右,共2.77GB
3、WAS补丁包,是WAS8.5.5累积的一些补丁,由3个zip包组成,分别为872MB,1.65GB,1.57GB,三个一共4.08GB
注:本次介绍的为WAS8.5.5 ND版,也只有ND版有集群功能,社区版和普通版是没有集群功能的,除了上面这些安装文件以外,还需要证书和授权,多数授权都集成在安装文件里面了,不需要单独的证书,可以联系IBM商务来购买。
这些安装文件是全平台通用的(基于JAVA的嘛),在Linux和Windows下都可以安装部署,当然都用上集群了肯定是用Linux的比较多
现在搭建一个由3台设备组成的集群,其中第一台设备安装控制台用于部署,其余两台设备作为纯slave机器使用
第一步:将安装包拷贝到服务器上,并解压
这一步非常简单,将所有的zip包放到服务器上,使用scp或者sftp都可以,注意权限的问题
解压的时候,三台机器都要解压IM,WAS安装包和补丁包。三项内容要解压到三个不同的目录里去,由于WAS主程序和补丁包都由part1 part2 part3 组成,所以在解压的时候要解压到同一目录下,这三个压缩包不像我们玩游戏下载的那些rar包一样解压几个就可以了,而是三个包里都包含着不重复的不同的文件,所以需要解压到同一个目录下。
我们要在三台设备上都安装IM,WAS主程序和WAS补丁,步骤如下
不论是主要服务器还是从属服务器,都要首先运行IM,因为IM(Installation Manager)顾名思义,是用来安装WAS程序和补丁的,它发挥的就是一个安装器的作用,需要在IM中指定WAS主程序文件的路径来安装主程序,指定补丁包的路径来安装补丁包。不然你只有WAS主程序的话是安装不上的。
我把IM的zip包解压到了/soft/WAS8.5.5linux/IM下,然后使用图形化界面中的shell执行这个目录下面的install文件(root权限)
第一个界面选择安装版本,直接默认下一步即可
然后接受许可协议条款
然后选择安装IM的目录(不是WAS软件),默认即可
然后简单看一下摘要,点击安装按钮
安装完毕之后,重新启动Installation Manager
然后就进入了IM主页,可以使用IM安装WAS主程序和补丁包了,如下图,点击安装按钮
然后要配置存储库的连接,也就是WAS主程序zip包解压后的目录的位置,点击蓝色的“存储库”
弹出的框中点击“添加存储库”按钮
然后点击“浏览”按钮,找到WAS主程序zip包解压后的目录下面的repository.config文件
点击确定之后,在之前的页面点击右边的“测试连接”按钮,如果config文件没有出错,就会出现成功提示
然后点击“应用”和确定按钮,下一个页面中,勾选要安装的was版本,点击下一步
下面的步骤一般都一路“下一步”即可
可以选择WAS安装的位置,一般默认即可
然后是选择语言,由于英文是必选的,所以再单选一个中文就够了
选择是否安装EJB容器,还有32位还是64位
最后点击安装按钮
安装完成后点击“完成”
如果上面选择了“概要管理工具用来创建概要文件”那么之后会马上提醒你配置本台服务器的概要文件。如果选择无可以稍后再配置概要文件,由于我们要先安装WAS补丁再配置概要文件,所以这里一般选择“无”
又回到IM主界面之后,我们需要安装WAS补丁包了,所以点击“更新”按钮
选择软件包版本
和安装WAS主程序一样,我们也需要指明补丁包解压后的位置,点击“存储库”
和之前一样,点击“添加存储库”然后选择补丁包目录下的repository.config
然后“测试连接”并“应用”和“确定”
返回后,点击更新按钮
下面的步骤和安装WAS主程序差不多
最后一步点击更新按钮
安装完毕,点击“完成”按钮
退回主界面后,可以直接关掉,然后在三台机器上均重复上面的操作,也就是安装IM,安装WAS主程序,安装补丁包的操作,如果是虚拟机,可以直接克隆三台一样的。
基础软件都安装完毕之后,下面我们就可以为三台机器创建不同的概要文件并配置集群了。
首先我们要打开概要文件管理器,我的是/usr/IBM/WebSphere/AppServer/bin/ProfileManagement/pmt.sh
进入概要文件管理器之后,点击右边的创建
然后创建概要文件的类型需要特别注意一下,我们的集群由3台机器构成,其中一台应该安装控制台而另外两台只需要做为服务器就可以了,所以三台机器的概要文件是不一样的,下面先介绍主要机器也就是有Web控制台的机器的概要文件创建方法。
我们这里要选择第一个“单元”,因为默认的“应用程序服务器”只有服务器的功能,没有控制台的功能,其余两台需要选择这个。
然后需要选择“高级概要文件创建”
然后勾选“部署管理控制台”和“部署缺省应用程序”
然后选择概要文件名称,一般默认就行
然后是节点名,一般按照hostname进行命名
然后设置一个登录控制台的密码
安全证书创建新的就可以
下面这一页默认就行
分配的端口也默认就行,此处一共三页,但是不要忘了把操作系统的防火墙关掉
Web服务器定义默认不勾选
最后点击“创建”按钮
这样我们的主服务器的dmgr就创建好了,能在概要文件管理工具中看到刚刚创建的两个概要文件,其中dmgr01就是控制台,AppSrv01就是服务器
可以使用“安装验证”来验证一下安装是否成功
注:安装完毕概要文件之后,一般要将IBM/目录下面的所有文件的所有者从root改为其他账户,因为我们的服务器很少以root直接启动
好了第一台服务器先到这里,下面介绍如何部署另外两台只做负载均衡用的服务器的概要文件创建方法。
还是像第一台一样,打开/usr/IBM/WebSphere/AppServer/bin/ProfileManagement/pmt.sh
只不过这里要选择“应用程序服务器”
仍然选择“高级概要文件创建”
然后三个勾全部去掉
然后概要文件名选择默认就可以
节点名也是按照hostname去填写
由于是从属节点,所以不要启用管理安全性
证书还是创建新的就可以
下面的默认即可
端口也默认就行
注:安装完毕概要文件之后,一般要将IBM/目录下面的所有文件的所有者从root改为其他账户,因为我们的服务器很少以root直接启动
然后第三台服务器和第二台服务器由于都是从服务器,所以概要文件安装方法是一样的,上面的重复一遍就行。如果是虚拟机可以直接克隆第二台
然后三台文件的WAS就都安装完毕了,我们下面可以开始做集群的配置了。
启动主服务器的Node方法:
/usr/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/startNode.sh
首先登录主服务器的dmgr,也就是控制台,一般在9043端口,首先要添加安全例外(因为我们之前是用的自签名的https证书)
然后输入建立dmgr概要文件时设置的用户名和密码,进入控制台
虽然三台机器都安装完毕,但是现在还没有建立关联,所以在后台只能看到当前一台服务器
那么如何将三台服务器组成一个集群呢?
保证三台机器都有自己的hostname,而且要不相同
首先要修改三台机器的/etc/hosts文件,每台机器都要把自己和另外两台的hostname和ip输入进去,三台机器的/etc/hosts保持一样就可以。
然后在第二台和第三台也就是两台从属服务器中,进入/usr/IBM/WebSphere/AppServer/profiles/AppSrv01/bin下面,有一个addNode.sh文件
执行
addNode.sh app1 8879
其中app1是主服务器的hostname,由于我们的hosts文件已经记录了这台主机的ip地址,所以这个脚本会自动的去主服务器的8879端口注册自己。
此时要注意主服务器的防火墙要关闭,两台从服务器不仅要能ping通主服务器,也要能telnet通8879端口
一般报错往往为8879端口不通
如果网络正常,会出现一个输入用户名和密码的窗口
这里要填的密码是主服务器的后台登录密码,i输入完用户名和密码之后点击确定,然后就完成了一个从属节点的添加,第二台主机和第三台主机他们两台由于都是副节点,所以都要通过这一步骤将自己添加到集群中去,主服务器是不需要这一步的。
然后我们到主服务器上面的后台上,就可以在“系统管理”-“节点”中看到我们刚刚添加的副节点了
上面的oaapp1Node01就是主服务器上面的节点,oaapp2Node01就是第二台服务器上面的节点
两台副节点全部添加完就是下面的样子
我们有了节点之后,就可以建立我们的was集群了,进入“集群”-“WebSphere Application Server集群”中,点击新建按钮
填写集群名字,并勾上下面的两个勾,一般做WAS集群都用was的内存复制功能来做回话保持,所以要勾上“配置HTTP会话内存到内存复制”选项
然后将每个上面我们看到的节点都添加到集群中来,成员名一般用mem1,mem2...这样进行命名
最后一步点击完成,然后点击“保存到主配置”
然后我们的集群就建立完毕了
然后我们就可以在DMGR中启动和停止集群中的节点,不需要ssh到相关的服务器去起停了
除了集群中的节点之外,每台服务器还有自己的一个服务器,也就是说一共有六个服务器可以使用
这样我们的WAS集群就搭建好了,可以部署应用程序上去了,注意在部署应用程序的时候,部署完之后一定要同步一下节点,否则很难生效
我们部署应用程序要去“应用程序”-“全部应用程序”中
点击“添加”或者相关的应用程序名进入配置,有一个“管理模块”连接
由于我们有一个集群和三个独立的Server(所以下图中有四行),所以在配置这个应用的时候要点选集群,并勾上EJB等选项的勾
最后别忘了“保存到主配置”
配置好之后,不要忘了同步一下节点,不然可能无法访问刚刚部署的新应用
现在就完成了在集群中部署集群应用了。