您的位置:首页 > 移动开发 > Unity3D

单机环境构建WebSphere Application Server Community Edition V2.1.1集群环境

2009-02-19 14:26 561 查看
单机环境构建WebSphereApplicationServerCommunityEditionV2.1.1集群环境

1引言

本文主要通过示例介绍WASCEV2.1.1的multipleserverinstances和cluster的配置。主要参考了Configuring
multipleserverinstances[1]和和为WASCE
V1.0.1构建集群环境[2]。

2环境配置

系统环境:windowsxpsp2,javaversion1.6.0。
工具
链接
备注
wascesetip-2.1.1.1-win.exe
https://cs.opensource.ibm.com/frs/?group_id=1878
wasceserver
wasce-samples-2.1.1.1.zip
https://cs.opensource.ibm.com/frs/?group_id=1878
配置示例,含cluster配置
apachehttpserverv2.x
http://httpd.apache.org/
redirector&loadbalancer,下载时注意mod_jk和apache版本要匹配
mod_jk.so
http://tomcat.apache.org/connectors-doc/

3配置WASCE多实例服务

3.1
安装运行WASCE默认服务

安装WASCE,运行安装目录<WASCE_HOME>/bin/geronimo.bat
run启动默认服务。默认服务的配置信息参见<WASCE_HOME>/var/config的各文件。简便起见我们将默认服务称为instance1。

Note:WAS
CE启动时需要使用多个端口,请确保这些端口未被占用。WASCE占用的端口信息请参见var/config/config-substitutions.properties。查看系统端口使用情况:



3.2
创建新的服务实例

3.2.1
新服务实例(instance2)的配置

WASCE的服务配置信息都在var目录下,创建一个新的服务实例步骤如下:
1.
在<WASCE_HOME>下创建一个文件夹(本例使用的是instance2)保存新实例的服务器配置信息。
2.
将<WASCE_HOME>/var目录copy到<WASCE_HOME>/instance2目录下
3.
设定instance2的服务器配置信息:
打开instance2/var/config/config-substitutions.properties。修改PortOffset,本例中设定PortOffset=10。这样instance2的所有端口都会+10,如web服务端口变成了8090(instance1的为默认端口8080)。同时注意AJPPort,这个端口是下面配置分发服务器时所需要的。



3.2.2
启动instance2

打开cmd到<WASCE_HOME>/bin目录下运行:
set
GERONIMO_OPTS=-Dorg.apache.geronimo.server.name=<path_of_instance2>
注意<path_of_instance2>是instance2在<WASCE_HOME>中的相对路径。
运行<WASCE_HOME>/bin/geronimo.batrun启动instance2服务。
为了运行方便,可以写一个bat文件放在bin目录下:
@REM
startinstance2.bat
set
GERONIMO_OPTS=-Dorg.apache.geronimo.server.name=instance2
geronimo.bat
run
通过上述方法可以创建多个serverinstance。
注:停止instance2服务请使用shutdown.bat--port[1099+portOffset],本文使用的是shutdown.bat--port1109。

本例配置完成后访问instance1的url为:http://localhost:8080,instance2:http://localhost:8090。Administratorconsole的默认用户名和密码为:system/manager

4配置WASCEV2.1.1集群服务

wasce-samples-2.1.1.1.zip中是有关WASCE的配置实例,在applications/tomcat-cluster中是有关cluster服务器的配置。

4.1
设置WASCE服务器配置,指定jvmRouter标识

本例是在单机环境配置的WASCE服务器,一下设计的server1指的是instance1服务,server2为instance2服务。修改server1的配置文件var/config/config.xml,在<module
name="org.apache.geronimo.configs/tomcat6/2.1.3/car">下添加TomcatEngine的initParams:
<gbeanname="TomcatEngine">

<attributename="initParams">

name=Geronimo

jvmRoute=server1

</attribute>

</gbean>

同样修改server2的config.xml:jvmRouter=server2

4.2
在server1和server2上分别安装应用程序

打开samples下的tomcat-cluster,将servlet-examples-cluster-server(1|2)部署到服务器上。首先修改servlet-examples-cluster-plan.xml将其中的<xx.yy.zz.aa>修改为127.0.0.1。
打开server1的administrator
console,在DeployNew选项下,指定war和plan.xml的路径,安装程序。
Note:因为本例的server1和server2是两个instance,需要额外修改servlet-examples-cluster-plan.xml中的<dep:artifactId>servlet-examples-cluster-server1</dep:artifactId>,否则部署的时候会提示已存在。
修改上述plan中的dep:artifactId为servlet-examples-cluster-server2,将程序同样部署到server2上。
现在可以通过http://localhost:8080/servlet-examples-cluster/和http://localhost:8090/servlet-examples-cluster/查看运行情况:



4.3
安装ApacheHttpServer+mod_jk

#

#ThefollowingshouldbeaddedtotheendofyourLoadModulelist,ifit

#doesnotexist.

#

LoadModulejk_modulemodules/mod_jk.so


#

#ThefollowingcanbeaddedanywhereaftertheaboveLoadModulestatement.

#

<IfModulemod_jk.c>

JkWorkersFileconf/workers.properties

JkLogFilelogs/mod_jk.log

JkLogLevelinfo

JkLogStampFormat"[%a%b%d%H:%M:%S%Y]"

JkOptions+ForwardKeySize+ForwardURICompat-ForwardDirectories

JkRequestLogFormat"%w%V%T"


<Location/*/WEB-INF/*>

AllowOverrideNone

denyfromall

</Location>


<Location/*/META-INF/*>

AllowOverrideNone

denyfromall

</Location>


#forwardALLwebrequeststoourmod_jkloadbalancerworkers

JkMount/*loadbalancer


</IfModule>


将workers.properties拷贝到Apache安装目录下的conf目录中,并根据server1和server2的IP地址和AJPPort作相应的修改,如下例所示:
worker.list=loadbalancer,status

worker.maintain=60


worker.server1.type=ajp13

worker.server1.host=127.0.0.1

worker.server1.port=8009

worker.server1.socket_timeout=60

worker.server1.socket_keepalive=true

worker.server1.lbfactor=1


worker.server2.type=ajp13

worker.server2.host=127.0.0.1

worker.server2.port=8019

worker.server2.socket_timeout=60

worker.server2.socket_keepalive=true

worker.server2.lbfactor=1


worker.loadbalancer.type=lb

worker.loadbalancer.balanced_workers=server1,server2

worker.loadbalancer.sticky_session=1

worker.status.type=status

注意:如果WASCE集群中有除了server1和server2之外,还有jvmRoute属性为xyz的成员,则需要在loadbalancer管理的worker列表中加入xyz:
worker.loadbalancer.balanced_workers=server1,server2,xyz
并且相应的加入对该成员的worker描述信息。
当然需要从集群中删除某个成员的时候,则需要从worker.loadbalancer.balanced_workers的取值列表中删除该成员的jvmRoute值,并且删除对该成员的worker描述信息。
通过设置worker.server1.lbfactor和worker.server2.lbfactor的值,可以根据server1和server2服务器性能的差异,设置server1和server2负载用户请求的权重:数值越大,分配到的用户请求数就越多。

4.4
实验结果

在浏览器中通过Apache访问示例程序的URL(本文apache2.2的端口默认为80)为:
http://localhost/servlet-examples-cluster/servlet/SessionExample

不断刷新页面可以看到sessiondata在Server1和Server2之间切换。
Reference:
[1]
Configuringmultipleserverinstances
http://publib.boulder.ibm.com/wasce/V2.1.0/en/configuring-multiple-server-instances.html

[2]
为WebSphere
ApplicationServerCommunityEditionV1.0.1构建集群环境

http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0606_zhangsong/index.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐