TOMCAT55集群与负载均衡部署配置文档Word下载.docx

上传人:b****4 文档编号:16584280 上传时间:2022-11-24 格式:DOCX 页数:15 大小:570.42KB
下载 相关 举报
TOMCAT55集群与负载均衡部署配置文档Word下载.docx_第1页
第1页 / 共15页
TOMCAT55集群与负载均衡部署配置文档Word下载.docx_第2页
第2页 / 共15页
TOMCAT55集群与负载均衡部署配置文档Word下载.docx_第3页
第3页 / 共15页
TOMCAT55集群与负载均衡部署配置文档Word下载.docx_第4页
第4页 / 共15页
TOMCAT55集群与负载均衡部署配置文档Word下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

TOMCAT55集群与负载均衡部署配置文档Word下载.docx

《TOMCAT55集群与负载均衡部署配置文档Word下载.docx》由会员分享,可在线阅读,更多相关《TOMCAT55集群与负载均衡部署配置文档Word下载.docx(15页珍藏版)》请在冰豆网上搜索。

TOMCAT55集群与负载均衡部署配置文档Word下载.docx

负载均衡器内部负责管理各个服务实体的加入和退出,外部负责集群地址向内部服务实体地址的转换。

有的负载均衡器实现真正的负载均衡算法,有的只支持任务的转换。

只实现任务转换的负载均衡器适用于支持ACTIVE-STANDBY的集群环境,在那里,集群中只有一个服务实体工作,当正在工作的服务实体发生故障时,负载均衡器把后来的任务转向另外一个服务实体。

2、内部通信:

为了能协同工作、实现负载均衡和错误恢复,集群各实体间必须时常通信,比如负载均衡器对服务实体信息、服务实体间任务执行上下文信息的通信。

具有同一个集群地址使得客户端能访问集群提供的计算服务,一个集群地址下隐藏了各个服务实体的内部地址,使得客户要求的计算服务能在各个服务实体之间分布。

内部通信是集群能正常运转的基础,它使得集群具有均衡负载和错误恢复的能力。

 

1.2.2负载均衡与故障复原

决定把Apachehttpd当成web服务器,而且使用mod_jk2将请求传送给Tomcat,则可以使用mod_jk2的负载均衡与容错功能。

在集群系统中,带有mod_jk2的Apachehttpd可实现以下功能:

(1)将请求分配至一个或多个Tomcat实例上你可以在mod_jk2的workers.properties文件中,设定许多Tomcat实例,并赋于每个实例一个lb_factor值,以作为请求分配的加权因子。

(2)侦测Tomcat实例是否失败当Tomcat实例的连接器服务不再响应时,mod_jk2会及时侦测到,并停止将请求送给它。

其他的Tomcat实例则会接受失效实例的负载。

(3)侦测Tomcat实例在失效后的何时恢复因连接器服务失效,而停止将请求分配给Tomcat实例之后,mod_jk2会周期性地检查是否已恢复使用性,并自动将其加入现行的Tomcat实例池中。

1.2.3SESSION复制方式

复合会话复制:

对于tomcat的集群有两种方式,这个主要是针对session而言的。

一种就是sticky模式,即黏性会话模式;

另外一种就是session复制模式了。

所谓sticky模式就是说同一个用户的访问请求都被派送到同一个tomcat实例上,这样我们就无须在多台服务器之间实现session共享了,这是其好处,不好的地方就是不能实现failureover了,一旦用户访问的机器挂掉,那么其session就会丢失。

而session复制模式就可以很好的解决failureover的问题,即使某一台web服务器挂掉了,用户的请求还会被负载到其他的web服务器上,而且session也被复制了,这样对用户而言就像是在同一台机器上操作一样,不好的地方就是session复制需要系统资源和网络的开销。

针对这两种方式的弊端和好处,可以采用将两种方式结合的方式来达到更好的效果,那就是sticky+session复制模式了。

用户的请求按照sticky方式被分发到同一个web服务器上,同时tomcat在后台做异步复制(非同步)session到其他web服务器,这样我们使用sticky的简便性,同时又有了一定的容错能力。

2集群操作说明

2.1环境说明

(1)服务器有3台,一台安装apache和tomcat,两台安装tomcat。

都是WindowsServer2003操作系统。

(2)软件:

apache2.0.55、tomcat5.5.23、jk2.0.5、jdk1.5

(3)环境配置

序号

局域ip

操作系统

用途

应用软件

1

10.0.42.243

WindowsServer2003中文企业版

对外统一WEB服务器:

tomcat1

Apache和Tomcat服务

3

10.0.42.210

Tomcat服务器:

tomcat2

Tomcat服务

2

10.0.42.237

tomcat3

2.2安装tomcat

(1)在三台要安装tomcat的服务器上先安装jdk1.5

(2)配置jdk的安装路径,在环境变量path中加入jdk的bin路径,新建环境变量JAVA_HOME指向jdk的安装路径。

(3)在三台要安装tomcat的服务器上分别安装tomcat,调试三个tomcat到能够正常启动

(4)tomcat的默认WEB服务端口是8080,默认的模式是单独服务,我的三个tomcat的WEB服务端口修改为81/82/83

修改位置为tomcat的安装目录下的conf/server.xml

修改前的配置为

<

Connectorport="

8080"

maxHttpHeaderSize="

8192"

maxThreads="

150"

minSpareThreads="

25"

maxSpareThreads="

75"

enableLookups="

false"

redirectPort="

8443"

acceptCount="

100"

connectionTimeout="

20000"

disableUploadTimeout="

true"

/>

修改后的配置为

81"

依次修改每个tomcat的监听端口(81/82/83)

(5)分别测试每个tomcat的启动是否正常

http:

//10.0.42.243:

81

//10.0.42.237:

82

//10.0.42.210:

83

(三)安全Appache服务器

(1)安装apache的服务器上安装apache2.0.55,我的安装路径为默认C:

\ProgramFiles\ApacheGroup\Apache2

(2)安装后测试apache能否正常启动,调试到能够正常启动http:

//10.0.42.243

(3)下载amod_jk-1.2.28-httpd-2.2.3.so,重命名为:

mod_jk2.so。

地址:

//www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/mod_jk-1.2.28-httpd-2.2.3.so

(4)将解压缩后的目录中的modules目录中的mod_jk.so文件复制到apache的安装目录下的modules目录中,本文为C:

\ProgramFiles\ApacheGroup\Apache2\modules

2.3负载均衡配置

(1)分别修改三个tomcat的配置文件conf/server.xml,修改内容如下,红色标记部分。

a)修改前

!

--AnEnginerepresentstheentrypoint(withinCatalina)thatprocesses

everyrequest. 

TheEngineimplementationforTomcatstandalone

analyzestheHTTPheadersincludedwiththerequest,andpassesthem

ontotheappropriateHost(virtualhost).-->

--YoushouldsetjvmRoutetosupportload-balancingviaAJPie:

Enginename="

Standalone"

defaultHost="

localhost"

jvmRoute="

jvm1"

>

-->

 

--Definethetoplevelcontainerinourcontainerhierarchy-->

Catalina"

b)修改后

-->

tomcat1"

--Definethetoplevelcontainerinourcontainerhierarchy

将三个Tomcat的jvmRoute="

分别修改为jvmRoute="

和jvmRoute="

tomcat2"

tomcat3"

(2)然后重启三个tomcat,调试能够正常启动。

(3)修改Appach配置文件,在apache的安装目录中的conf在apache安装目录下conf目录中找到http.conf在文件最后添加:

include"

C:

\ProgramFiles\ApacheGroup\Apache2\conf\mod_jk.conf"

(4)在apache的安装目录中的conf新建文件mod_jk.conf文件,内容如下

#加载mod_jkModule

LoadModulejk_modulemodules/mod_jk-apache-2.0.55.so

#指定workers.properties文件路径

JkWorkersFileconf/workers.properties

#指定那些请求交给tomcat处理,"

controller"

为在workers.propertise里指定的负载分配控制器

JkMount/*.jspcontroller

JkMount/*.htmlcontroller

JkMount/*.actioncontroller

JkMount/*.docontroller

(5)在apache的安装目录中的conf目录下创建文件workers2.propertie,写入文件内容:

worker.list=controller,tomcat1,tomcat3,tomcat2#server列表#========tomcat1========

worker.tomcat1.port=8009#ajp13端口号,在tomcat下server.xml配置,默认8009

worker.tomcat1.host=10.0.42.243#tomcat的主机地址,如不为本机,请填写ip地址

worker.tomcat1.type=ajp13

worker.tomcat1.lbfactor=1#server的加权比重,值越高,分得的请求越多

worker.tomcat2.port=8009

worker.tomcat2.host=10.0.42.210

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor=1

worker.tomcat3.port=8009

worker.tomcat3.host=10.0.42.237

worker.tomcat3.type=ajp13

worker.tomcat3.lbfactor=1

#========controller,负载均衡控制器========

worker.controller.type=lb

worker.controller.balanced_workers=tomcat1,tomcat3,tomcat2#指定分担请求的tomcat

worker.controller.sticky_session=1#两种方式复制会话。

(6)在三个tomcat的安装目录中的webapps建立相同的应用,我和应用目录名为LEAPClient在三个应用目录中建立相同WEB-INF目录和页面test.jsp的页面内容如下

<

%@pagecontentType="

text/html;

charset=GBK"

%>

%@pageimport="

java.util.*"

html>

head>

title>

ClusterAppTest<

/title>

/head>

body>

ServerInfo:

%

out.println(request.getLocalAddr()+"

:

"

+request.getLocalPort()+"

br>

"

);

%>

out.println("

ID"

+session.getId()+"

//如果有新的Session属性设置

StringdataName=request.getParameter("

dataName"

if(dataName!

=null&

&

dataName.length()>

0){

StringdataValue=request.getParameter("

dataValue"

session.setAttribute(dataName,dataValue);

}

b>

Session列表<

/b>

System.out.println("

============================"

Enumeratione=session.getAttributeNames();

while(e.hasMoreElements()){

Stringname=(String)e.nextElement();

Stringvalue=session.getAttribute(name).toString();

out.println(name+"

="

+value+"

System.out.println(name+"

+value);

formaction="

test.jsp"

method="

POST"

名称:

inputtype=textsize=20name="

值:

inputtype=submit>

/form>

/body>

/html>

(10)重启apache服务器和三个tomcat服务器,到此负载均衡已配置完成。

测试负载均衡先测试apache,访问http:

//10.0.42.243/test.jsp能否正常访问,并能运行,则已建立负载均衡。

2.4集群配置

负载均衡配置的条件下配置tomcat集群

(1)分别修改三个tomcat的配置文件conf/server.xml,修改内容如下

修改前

--

ClusterclassName="

org.apache.catalina.cluster.tcp.SimpleTcpCluster"

managerClassName="

org.apache.catalina.cluster.session.DeltaManager"

expireSessionsOnShutdown="

useDirtyFlag="

notifyListenersOnReplication="

Membership

className="

org.apache.catalina.cluster.mcast.McastService"

mcastAddr="

228.0.0.4"

mcastPort="

45564"

mcastFrequency="

500"

mcastDropTime="

3000"

/>

Receiver

org.apache.catalina.cluster.tcp.ReplicationListener"

tcpListenAddress="

auto"

tcpListenPort="

4001"

tcpSelectorTimeout="

tcpThreadCount="

6"

Sender

org.apache.catalina.cluster.tcp.ReplicationTransmitter"

replicationMode="

pooled"

ackTimeout="

5000"

ValveclassName="

org.apache.catalina.cluster.tcp.ReplicationValve"

filter="

.*\.gif;

.*\.js;

.*\.jpg;

.*\.png;

.*\.htm;

.*\.html;

.*\.css;

.*\.txt;

DeployerclassName="

org.apache.catalina.cluster.deploy.FarmWarDeployer"

tempDir="

/tmp/war-temp/"

deployDir="

/tmp/war-deploy/"

watchDir="

/tmp/war-listen/"

watchEnabled="

ClusterListenerclassName="

org.apache.catalina.cluster.session.ClusterSessionListener"

/Cluster>

修改后

--modifybywhh-->

tr

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 社交礼仪

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1