WAS ND6.1 集群配置向导-之一(2008-08-21 19:29:51)转载标签:分类:技术杂谈Websphere Application Server Network Deployment version 6.1 Cluster Guideby maj 21/8.08COPYLEFT BY MAZHE(mazhe219@)1.安装Websphere Application Server Network Deployment version 6.1(WASND6.1 for short) 操作系统: Novell SUSE Linux Enterprise Server 10安装Suse10的时候记住要安装图形化界面1.1得到WAS ND6.1 linux版本的安装包,例wasND61.tar1.2以root用户身份登录系统,将安装文件传送到目录中,例: /root/WASNDInstallFile/wasND61.tar 1.3解压安装包文件,命令:>tar -xvf wasND61.tar如果是在x-window可视环境中,可以右击安装文件直接解压到当前目录1.4运行launchpad.sh,启动安装界面如果启动失败,可以选择手动安装,方法:首先要先安装jre,在安装包解压目录中将JDK目录深处的jre目录拷贝至/usr/share/java5/中修改环境变量(最简方法):profile文件(/etc/profile),在文件尾部加入JAVA_HOME=/usr/share/java5/jrePATH=$JAVA_HOME/bin:$PATHexport JAVA_HOMEexport PATH重新登录使环境变量生效.测试jre是否安装成功:在任意目录下执行命令>java -version ,如果出现java版本信息,则表示安装成功.进入安装包目录中的WAS目录,执行install文件: >./install ,手动启动安装.1.5在启动的安装界面中,选择第一项:Startup the install wizard of Websphere Application Server Network Deployment进入WAS ND的安装.接受安装协议和指定安装目录(默认目录: /opt/IBM/Websphere/)后要选择同时生成profiles的类型,如果选择cell,则生成一个Deployment Manager和一个Application Server,或者可以单独生成Deployment Manager或者Application Server.但此处我们选择none,安装完成后单独创建这些profiles.1.6点击下一步直至安装完成.2.生成profile完成安装后,要创建Deployment Manager和Application Server的profile:到cluster管理节点上,运行: >/opt/IBM/WebSphere/Appserver/bin/ProfileManager/pmt.sh 打开profile创建界面.创建profile类型为Deployment Manager,用typical形式创建,默认创建的名字为Dmgr01.此处记住安装的Deployment Manager SOAP端口号,默认为8879建议选择安全管理并创建用户名与密码,例如: admin/111111到cluster受管节点上同样运行: >/opt/IBM/WebSphere/Appserver/bin/ProfileManager/pmt.sh此处创建profile类型为Application Server,依然使用typical形式创建,默认创建名为AppSrv01. 使用如上方法创建第二个Application Server,默认创建名为AppSrv02.2.1*重要一点,到各服务器上检查/etc/hosts文件,如果此处WASND安装时候将本机hostname映射到127.0.0.2,则要进行修改,改为127.0.0.1或者服务器真实IP即可.2.2将两台app server的IP映射成为hostname:修改DM服务器的/etc/hosts文件,添加映射,例如:192.168.0.2 webapp01.clu app01192.168.0.3 webapp02.clu app022.3启动DM,命令如下:>/opt/IBM/WebSphere/Appserver/profiles/Dmgr01/startManager.sh2.4要将两个app server加入到DM(Deployment Manager,下同)中,首先启动两个app server的node,命令如下:>/opt/IBM/WebSphere/Appserver/profiles/AppSrv01/startNode.sh成功启动后,将该app server加入到DM中,命令如下:>/opt/IBM/WebSphere/Appserver/profiles/AppSrv01/addNode.sh 192.168.0.1 8879 -username admin -password 111111以上参数分别为DM服务器ip,DM的SOAP端口,DM管理员登陆名,DM管理员登陆密码.2.5登录DM的管理控制台http://198.168.0.1:9060/admin在服务器->应用程序服务器中可以看到已经添加的的两台app server了(默认名称均为server1).3.创建集群cluster3.1 新建集群进入DM管理控制台,进入集群配置管理: 服务器->集群, 选择新建,然后创建一个空集群:testCluster3.2 为新集群添加成员选择进入集群testCluster,选择添加成员,将上面看见的两个两个app server添加到集群中,添加成功后可以在服务器->集群->本地拓扑中看到集群的拓扑结构.3.3 测试集群制作一个简单应用,只有index.jsp即可,可以生成上下文为"DemoApplication"的ear包进行直接部署,或者生成war包,然后在部署应用的时候指定应用上下文为"DemoApplication",部署的时候要在部署范围上面选择集群并进行应用保存(cluster=testCluster)启动集群testCluster.现在可以分别访问两个app server的应用了:http://192.168.0.2:9081/DemoApplicationhttp://192.168.0.3:9081/DemoApplication*注:安装时默认将application端口指定为9081,可以在安装时修改.如果访问成功,表示集群已经起作用,以后直接将应用部署到集群上面即可完成对两台app server的应用安装,但要注意的是各个服务器之间的时间相差不能大于5分钟,否则会显示不能同步的状态(修改系统时间命令: >date -s 15:30:00).4.安装IHS(IBM HTTP Server) 和WebServer插件4.1现在集群已经正常工作,但是还不能做到负载均衡,本结构例子使用IHS进行负载均衡.4.2同WASND安装,运行launchpad.sh,点击选择里面的Startup the install wizard of IBM HTTP Server.按照提示进行安装,默认安装到/opt/IBM/HttpServer1.4.3同上步骤点选Startup the install wizard of WebServer plugin.默认安装目录会将IHS的plugin安装到/opt/IBM/HttpServer.4.4 启动IHS运行/opt/IBM/HttpServer1/bin/apachectl.sh start4.5 将IHS注册到WASND中将/opt/IBM/HttpServer1/Plugins1/bin下的configurewebserver1.sh拷贝到DM中,并进行运行,命令如下:./configurewebserver1.sh -user admin -password 1111114.6进入DM的管理控制台,在服务器->web服务器中应该可以看到刚刚建好的webserver15.应用配置5.1部署应用时候,将部署范围选择为cluster和webserver1两个.5.2 修改virtual host进入环境->虚拟主机,选择default_host,点击"主机别名"进入编辑后将多余的都删掉,只留下9081,9443和80端口,对应得hostname都是*5.3重新启动DM服务5.4选中webserver1,点击传播插件,开始传播插件.如果传播插件失败,有可能是在系统上权限不够,可以使用chmod修改权限5.5成功传播插件后就可以进行负载均衡了,可以访问http://192.168.0.1/DemoApplication安装配置完成注:负载均衡请求流程:request->webserver(IHS)->进行负载均衡(从cluster中选择合适的服务器)->将request分发到app serverWAS ND6.1 集群配置向导-之二(2008-08-21 19:35:09)转载标签:分类:技术杂谈Websphere Application Server Network Deployment version 6.1 Cluster Guideby maj 21/8.08COPYLEFT BY MAZHE(mazhe219@)附1:各端口关系a.将端口和应用关联起来是通过virtual host,例如有两个应用app01和app02,分别要通过9085和9086来访问,配置方法是在环境->虚拟主机中建立两个virtual host,分别取名为host1和host2,里面分别新建端口*-9085和*-9086(要重新启动WAS).然后在部署应用的时候有一步骤是要为应用指定virtual host,此时将app01指定为host1,将app02指定为host2,即完成应用对端口的映射.如果是已经安装过的应用要进行端口修改的话,进入应用程序->企业应用程序,点击要修改的应用,在右边"Web 模块属性"中点击"虚拟主机",再修改为相应virtual host即可.b.各个application server上面也要开启端口,否则就算部署在服务器上面的应用使用了端口例如9085,但服务器本身没有对应打开的话,也是不能通过9085端口访问到该应用的.配置方法:服务器->应用程序服务器,点选要修改的服务器->右侧"容器设置"->"web容器设置"->"Web 容器传输链"->WCInboundDefault ,在此处可以修改端口,没有的端口可以进行添加(右边"端口"选项)WAS ND6.1 集群配置向导-之三(2008-08-21 19:37:43)转载标签:分类:技术杂谈Websphere Application Server Network Deployment version 6.1 ClusterGuide by maj 21/8.08 COPYLEFT BY MAZHE(mazhe219@)附2:自定义LoadBalancer1.编写自定义LoadBalancer代码可以使用servlet书写负载分发逻辑,选择好要分发的服务器后可以使用response.sendRedirect(url)该LoadBalancer应用的上下文要和webserver中的被访问应用一致(待研究)2.修改webserver的plugin配置要修改的配置文件地址:/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/Cell01/nodes/Node01/servers/web server1/plugin-cfg.xml原始配置:<VirtualHostGroup Name="default_host"><VirtualHost Name="*:80"/><VirtualHost Name="*:9443"/><VirtualHost Name="*:9081"/></VirtualHostGroup><ServerCluster LoadBalance="Round Robin" Name="testCluster"><Server CloneID="11111" LoadBalanceWeight="2" Name="Node01_app01"><Transport Hostname="APPHOST01" Port="9081" Protocol="http"/><Transport Hostname="APPHOST01" Port="9444" Protocol="https"><Property Name="keyring"Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.kdb"/><Property Name="stashfile"Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.sth"/></Transport></Server><Server CloneID="22222" LoadBalanceWeight="2" Name="Node02_app02"> <Transport Hostname="APPHOST02" Port="9083" Protocol="http"/><Transport Hostname="APPHOST02" Port="9446" Protocol="https"><Property Name="keyring"Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.kdb"/><Property Name="stashfile"Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.sth"/></Transport></Server><Server CloneID="33333" LoadBalanceWeight="2" Name="Node03_app03"> <Transport Hostname="APPHOST02" Port="9081" Protocol="http"/><Transport Hostname="APPHOST02" Port="9444" Protocol="https"><Property Name="keyring"Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.kdb"/><Property Name="stashfile"Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.sth"/></Transport></Server><PrimaryServers><Server Name="Node01_app01"/><Server Name="Node02_app02"/><Server Name="Node03_app03"/></PrimaryServers></ServerCluster>上面配置文件中一些不很重要的属性被省略掉了,将配置文件改为:<VirtualHostGroup Name="default_host"><VirtualHost Name="*:80"/><VirtualHost Name="*:9443"/><VirtualHost Name="*:9081"/><VirtualHost Name="*:8088"/></VirtualHostGroup><ServerCluster LoadBalance="Round Robin" Name="testCluster"><ClusterAddress Name="MyLoadBalancer"><Transport Hostname="192.168.0.6" Port="8088" Protocol="http"/></ClusterAddress><Server CloneID="11111" LoadBalanceWeight="2" Name="Node01_app01"> <Transport Hostname="APPHOST01" Port="9081" Protocol="http"/><Transport Hostname="APPHOST01" Port="9444" Protocol="https"><Property Name="keyring"Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.kdb"/><Property Name="stashfile"Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.sth"/></Transport></Server><Server CloneID="22222" LoadBalanceWeight="2" Name="Node02_app02"> <Transport Hostname="APPHOST02" Port="9083" Protocol="http"/><Transport Hostname="APPHOST02" Port="9446" Protocol="https"><Property Name="keyring"Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.kdb"/><Property Name="stashfile"Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.sth"/></Transport></Server><Server CloneID="33333" LoadBalanceWeight="2" Name="Node03_app03"><Transport Hostname="APPHOST02" Port="9081" Protocol="http"/><Transport Hostname="APPHOST02" Port="9444" Protocol="https"><Property Name="keyring"Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.kdb"/><Property Name="stashfile"Value="/opt/IBM/HTTPServer/config/webserver1/plugin-key.sth"/></Transport></Server><PrimaryServers><Server Name="MyLoadBalancer"/></PrimaryServers></ServerCluster>主要添加了名为MyLoadBalancer的ClusterAddress,这个自定义LoadBalancer的地址为192.168.0.6,端口为8088,要指定PrimaryServers中为主要添加了名为MyLoadBalancer的ClusterAddress,并在VirtualHostGroup中添加一个端口.2.webserver传播插件点选webserver1并进行插件的传播.3.完成自定义LoadBalancer进行访问测试。