ihs websphere多集群 多端口web服务器架构
- 格式:doc
- 大小:978.50 KB
- 文档页数:14
IHS+WAS6ND实现多应用服务器集群+多web端口服务器架构配置经验 日前本人做为一个项目的外援参与配置了一个复杂WAS群集架构的部署,该项目由于遇到特殊情况需求采用HIS+WAS6ND实现多应用服务器集群+多web端口服务器架构,在Google上搜索了一遍,没有找到类似的架构配置方式,只有自己来研究了。总算功夫不负有心人,经过多次实验,终于成功实现了上述架构的配置。 由于配置过程中经历了种种艰辛,所以将这种架构的配置经验做了总结,与大家分享,希望能对大家有所帮助。
首先来说一下为什么会需要采用这样的架构。 从我进入IT行业以来,这样的架构还是第一次见到。不能不说一句我对能够想出并实现这样架构的开发工程师和系统集成工程师致以崇高敬意,因为在应用需求不断变化软硬件架构和系统软硬件有条件限制的情况下,能够成功实现这样的配置达到项目目标不能不说是一件非常不容易的事情。同时,我要对该项目的管理人员、设计人员以及实施项目企业的高层人员说一句,你们应该特别感谢这些能够保证你们项目成功的开发人员和系统集成人员,因为他们项目才得以成功,因为他们才保住了企业的信誉和颜面。 跑题了,言归正传。
根据项目初期的设计,需要建立一个应用系统,为保证应用系统的高可用性(服务不能中断),对于这个应用系统采用2台web服务器网络负载均衡+2台was应用服务器负载均衡服务器群集方式,后台是Oracle数据库的集群。Web服务器网络负载均衡是采用windows 2003 server的网络负载均衡集群实现的,F5在这个项目里是买不起的。通过web服务器将请求路由分发到was集群的两台应用服务器上。这样的架构是按照was应用集群模版的标准配置设计的,所以配置起来没有什么问题。 但是项目进行过程中发觉原来的需求根本没有调研清楚,发生了重大的需求变更,按照原来对应用系统的设计根本无法满足项目的需求,所以对应用系统的设计进行了重大调整,该项目需要增加开发两个应用系统,就是需要增加部署两套应用系统。由于硬件数量已经确定无法增加,并且web访问地址也只有两个,无法增加,同时又需要保证应用系统的高可用性,因此需要再每组应用集群里多部署一套应用系统。 而由于采用的开发构件库产品EOS只能基于根目录访问,因此不能采用虚拟目录的方式在一个应用服务器里部署两个应用,需要每个应用使用一个独立的应用服务器。这样造成了需要在一组硬件应用服务器集群里部署两个应用服务器的需求。同时web服务器也需要进行类似的部署,一个web服务器上需要映射两个应用服务器,所以IHS的一个web服务器使用80端口,另一个web服务器就需要使用非标准的端口了。 下面是重新设计出来的系统架构:
Web集群
Web1Web2应用集群2应用集群1
App1App2
映射应用服务器端口1:9080映射端口应用服务器端口2:9081
访问端口1:80访问端口2:8000
上述部署方式是目前基本稳定下来的架构,但是在未来可能由于项目需求的变化,可能还会增加1-2个新的应用集群,也就是说未来还会新增1-2应用集群在这组硬件设备上。(真不知这个项目是怎么进行需求调研设计的,还是CMM4呢,整个一手工作坊)。
按照这样的要求进行配置,看上去挺简单的,但在实际过程中确艰辛重重。 先来介绍一下配置步骤: 1、在APP1和APP2上分别安装WAS6.0ND,并根据构件库产品的要求升级补丁; 2、在APP1上创建WAS NB的管理服务NDMG01; 3、在APP1和APP2上分别创建应用服务器样本; 4、在NDMG01的管理控制台中将APP1和APP2加为NDMG01的受管节点; 5、在NDMG01的管理控制台的应用服务器管理为APP1和APP2分别再建立第二个应用服务器; 6、创建两个应用服务器集群,并分别将对应的应用服务器加入集群; 7、在两台web服务器上分别安装IHS ,将默认web服务注册为windows服务; 8、分别将web服务器上的IHS安装目录中的conf目录下的配置文件httpd.conf复制一份命名为httpd8000.conf,修改复制的配置文件,将默认的80端口改为8000; 9、使用命令apache -k install -n httpd8000 -f “c:\ihs\ibm\conf\httpd8000.conf”将8000端口的web服务也注册为windows服务; 10、 启动所有配置好的web服务,并测试一下; 11、 停止所有web服务,为不同的web服务分别安装websphere plugins插件; 12、 启动web服务,并进行测试; 13、 配置windows网络负载平衡群集,并进行测试; 14、 在NDMG01管理控制台上将两台web服务器加为非受管节点,并在两个节点上创建对应的web服务器。 15、 在NDMG01管理控制台上,分别将相应的应用系统安装到应用服务器群集上。安装过程中可以将应用模块映射到应用服务器虚拟主机以及将应用系统映射到对应的web服务上,也可以在安装好应用后再进行配置。两种方式都经过测试没有问题。 16、 对每个web服务生成插件和传播插件。 17、 配置结束,进行应用访问的测试并成功。
上面的步骤中常规的操作在本文中不进行详细介绍了,可以参考was 6.0 ND的安装手册以及IHS 配置手册,下面我将详细介绍配置过程中需要注意以及容易产生问题的地方以及应对方法。 1、在APP1和APP2上分别安装WAS6.0ND,并根据构件库产品的要求升级补丁; 个人认为只要安装WAS应用服务器就可以了,但是由于项目组中的某人在一篇文章上看到需要同时安装IHS以及web服务插件才能进行补丁升级,所以同时又安装了IHS和web服务插件。关于是否仅需要安装WAS应用服务器也可以升级,由于时间关系没有进行测试。 WAS6.0的补丁包需要依次安装,不能跳过前期版本。在这个项目中,我安装的是6.0.2.7补丁,因此需要先装6.0.2.0的补丁,然后再安装6.0.2.7的补丁,具体安装步骤请参照websphere的升级手册。
2、在APP1上创建WAS NB的管理服务NDMG01; 这部基本上按照标准步骤进行,建议记录下输入的服务名以及主机名等信息,方便查阅;
3、在APP1和APP2上分别创建应用服务器样本; 这一步也基本按照标准步骤,可以将应用服务器注册为本机服务,也可以不注册,我是没有将它注册为本机服务。记录下服务名
4、在NDMG01的管理控制台中将APP1和APP2加为NDMG01的受管节点; 这一步建议将agent注册为windows服务
5、在NDMG01的管理控制台的应用服务器管理为APP1和APP2分别再建立第二个应用服务器; 这一步在NDMG01的管理控制台进行,建议服务名便于分辨和记忆,需要记录对应的每一台APP上创建的应用服务器名称,以防在后面的配置过程中搞乱。
6、创建两个应用服务器集群,并分别将对应的应用服务器加入集群; 这一步和上一步一样,也需要做记录,防止以后的配置中出错。
7、在两台web服务器上分别安装IHS ,将默认web服务注册为windows服务; 注意记录注册的windows服务名称 打开一个DOS 窗口,进入到\bin 路径下执行: htpasswd -bc ..\conf\admin.passwd 其中 代表IHS V6 的安装目录, 代表IHS V6 的管理员ID 代表IHS V6 管理员的用户密码 * 注意:如果想通过WAS ND V6 的管理控制台直接管理远程的IHS V6 必须首先设定IHS V6 的管理员ID 和密码,并且传播插件是否成功也需要做这一步
8、分别将web服务器上的IHS安装目录中的conf目录下的配置文件httpd.conf复制一份命名为httpd8000.conf,修改复制的配置文件,将默认的80端口改为8000;
9、使用命令 apache -k install -n httpd8000 -f “c:\ihs\ibm\conf\httpd8000.conf” 将8000端口的web服务也注册为windows服务; 注意记录注册的windows服务名称httpd8000
10、 启动所有配置好的web服务,并测试一下; 11、 停止所有web服务,为不同的web服务分别安装WAS的web服务plugins插件(步骤如下); 这里插件需要安装两次(如想不安装两次,则要手工配置,相当复杂,本人没有配置成功,不知有没有高手能手动配置成功),以对应不通的web服务,并需要特别注意对应的端口号、IHS的配置文件位置以及web服务器plugin-xml的位置都需要重新配置,不要按照默认的目录不修改,否则之后的配置就会出错。同时安装过程中需要将输入的定义web服务名记录下来,在以后的映射配置时需要对应。 如需要对web服务器进行升级,也需要对不同的plugin进行升级。 过程如下: 1 . 在如下图1 的界面中选择,IBM HTTP Server V6 ,然后单击“下一步” 图1 2 . 在如下图2 的界面中选择“Web 服务器(远程)” 然后单击“下一步”
图2 3 . 在如下图3 的界面中指明插件安装的位置,然后单击“下一步”,注意请记住这个路径,在下面的步骤中需要该路径。 图3 4 . 在如下图4 的界面中指明IHS V6 配置文件httpd.conf 的位置和Web 服务器的端口,然后单击“下一步”
图4