TOMCAT5.5集群与负载均衡部署配置文档.doc_第1页
TOMCAT5.5集群与负载均衡部署配置文档.doc_第2页
TOMCAT5.5集群与负载均衡部署配置文档.doc_第3页
TOMCAT5.5集群与负载均衡部署配置文档.doc_第4页
TOMCAT5.5集群与负载均衡部署配置文档.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TOMCAT5.5集群与负载均衡部署配置文档版本V1.0目 录1负载均衡原理和基本特点21.1负载技术21.2技术特点简介21.2.1集群原理21.2.2负载均衡与故障复原31.2.3SESSION复制方式32集群操作说明42.1环境说明42.2安装tomcat42.3负载均衡配置62.4集群配置92.5应用配置122.6测试结果132.6.1负载均衡测试132.6.2集群容错测试162.7备注172.7.11同台部署172.7.2开放相关端口181 负载均衡原理和基本特点1.1 负载技术本方案采用反向代理负载均衡 (如Apache+JK2+Tomcat这种组合),就是使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web服务器,而这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。1.2 技术特点简介1.2.1 集群原理Tomcat中的集群原理是通过组播的方式进行节点的查找并使用TCP连接进行会话的复制。1、集群地址:集群由多个服务实体组成,集群客户端通过访问集群的集群地址获取集群内部各服务实体的功能。具有单一集群地址(也叫单一影像)是集群的一个基本特征。维护集群地址的设置被称为 负载均衡器。负载均衡器内部负责管理各个服务实体的加入和退出,外部负责集群地址向内部服务实体地址的转换。有的负载均衡器实现真正的负载均衡算法,有的 只支持任务的转换。只实现任务转换的负载均衡器适用于支持ACTIVE-STANDBY的集群环境,在那里,集群中只有一个服务实体工作,当正在工作的服务实体发生故障时,负载均衡器把后来的任务转向另外一个服务实体。 2、内部通信:为了能协同工作、实现负载均衡和错误恢复,集群各实体间必须时常通信,比如负载均衡器对服务实体信息、服务实体间任务执行上下文信息的通信。具有同一个集群地址使得客户端能访问集群提供的计算服务,一个集群地址下隐藏了各个服务实体的内部地址,使得客户要求的计算服务能在各个服务实体之间分布。内部通信是集群能正常运转的基础,它使得集群具有均衡负载和错误恢复的能力。1.2.2 负载均衡与故障复原决定把Apache httpd当成web服务器,而且使用mod_jk2将请求传送给Tomcat,则可以使用mod_jk2的负载均衡与容错功能。在集群系统中,带有mod_jk2的Apache httpd可实现以下功能: (1) 将请求分配至一个或多个Tomcat实例上 你可以在mod_jk2的perties文件中,设定许多Tomcat实例,并赋于每个实例一个lb_factor值,以作为请求分配的加权因子。(2) 侦测Tomcat实例是否失败 当Tomcat实例的连接器服务不再响应时,mod_jk2会及时侦测到,并停止将请求送给它。其他的Tomcat实例则会接受失效实例的负载。 (3) 侦测Tomcat实例在失效后的何时恢复 因连接器服务失效,而停止将请求分配给Tomcat实例之后,mod_jk2会周期性地检查是否已恢复使用性,并自动将其加入现行的Tomcat实例池中。1.2.3 SESSION复制方式复合会话复制:对于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。都是Windows Server2003操作系统。(2)软件:apache2.0.55、tomcat5.5.23、jk2.0.5、jdk1.5(3)环境配置序号局域ip操作系统用途应用软件43Windows Server2003中文企业版对外统一WEB服务器:tomcat1Apache和Tomcat服务310Windows Server2003中文企业版Tomcat服务器: tomcat2Tomcat服务37 Windows Server2003中文企业版Tomcat服务器:tomcat3Tomcat服务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修改前的配置为 修改后的配置为 依次修改每个tomcat的监听端口(81/82/83)(5)分别测试每个tomcat的启动是否正常43:8137:8210:83(三)安全Appache服务器 (1)安装apache的服务器上安装apache2.0.55,我的安装路径为默认C:Program FilesApache GroupApache2 (2)安装后测试apache能否正常启动,调试到能够正常启动43 (3)下载a mod_jk-1.2.28-httpd-2.2.3.so,重命名为:mod_jk2.so。地址:/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:Program FilesApache GroupApache2modules2.3 负载均衡配置 (1)分别修改三个tomcat的配置文件conf/server.xml,修改内容如下,红色标记部分。a)修改前 !- You should set jvmRoute to support load-balancing via AJP ie : - b)修改后 !- Define the top level container in our container hierarchy -将三个Tomcat的jvmRoute=jvm1分别修改为jvmRoute=tomcat1和jvmRoute=tomcat2和jvmRoute=tomcat3(2)然后重启三个tomcat,调试能够正常启动。(3)修改Appach配置文件,在apache的安装目录中的conf在apache安装目录下conf目录中找到http.conf 在文件最后添加:include C:Program FilesApache GroupApache2confmod_jk.conf (4) 在apache的安装目录中的conf 新建文件mod_jk.conf文件,内容如下#加载mod_jk ModuleLoadModule jk_module modules/mod_jk-apache-2.0.55.so#指定 perties文件路径JkWorkersFile conf/perties#指定那些请求交给tomcat处理,controller为在pertise里指定的负载分配控制器JkMount /*.jsp controllerJkMount /*.html controllerJkMount /*.action controllerJkMount /*.do controller(5)在apache的安装目录中的conf目录下创建文件pertie,写入文件内容:worker.list = controller,tomcat1,tomcat3,tomcat2 #server 列表#=tomcat1=worker.tomcat1.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009worker.tomcat1.host=43 #tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat1.type=ajp13worker.tomcat1.lbfactor = 1 #server的加权比重,值越高,分得的请求越多worker.tomcat2.port=8009 worker.tomcat2.host=10 worker.tomcat2.type=ajp13worker.tomcat2.lbfactor = 1 worker.tomcat3.port=8009 worker.tomcat3.host=37 worker.tomcat3.type=ajp13worker.tomcat3.lbfactor = 1 #=controller,负载均衡控制器=worker.controller.type=lbworker.controller.balanced_workers=tomcat1,tomcat3,tomcat2 #指定分担请求的tomcatworker.controller.sticky_session=1 #两种方式复制会话。(6)在三个tomcat的安装目录中的webapps建立相同的应用,我和应用目录名为LEAPClient在三个应用目录中建立相同 WEB-INF目录和页面test.jsp的页面内容如下 Cluster App Test Server Info: % out.println(request.getLocalAddr() + : + request.getLocalPort()+);% % out.println( ID + session.getId()+); / 如果有新的 Session 属性设置 String dataName = request.getParameter(dataName); if (dataName != null & dataName.length() 0) String dataValue = request.getParameter(dataValue); session.setAttribute(dataName, dataValue); out.println(Session 列表); System.out.println(=); Enumeration e = session.getAttributeNames(); while (e.hasMoreElements() String name = (String)e.nextElement(); String value = session.getAttribute(name).toString(); out.println( name + = + value+); System.out.println( name + = + value); % 名称: 值: (10)重启apache服务器和三个tomcat服务器,到此负载 均衡已配置完成。测试负载均衡先测试apache,访问43/test.jsp能否正常访问,并能运行,则已建立负载均衡。2.4 集群配置负载均衡配置的条件下配置tomcat集群(1)分别修改三个tomcat的配置文件conf/server.xml,修改内容如下修改前 !- -修改后 将集群配置选项的注释放开即可。修改地址tcpListenAddress=43。三个Tomcat都修改为自己的IP。2、添加异步负载Session文件在每个tomcat目录下的confCatalinalocalhost目录下建立一个ROOT.xml文件,其内容为: 2.5 应用配置对于要进行负载和集群的的tomcat目录下的webapps中的应用中的WEB-INF中的web.xml文件要添加如下一句配置配置前配置后 LEAPClient 2.6 测试结果2.6.1 负载均衡测试1、打开三个IE窗口分别输入:43/LEAPClient/test2.jsp。分别是访问的是三个不同的tomcat的服务器。如图 APP-01分别输入Tomcat1的输入名称:T1,值:T1;分别输入Tomcat2的输入名称:T2,值:T2;分别输入Tomcat3的输入名称:T2,值:T3;图 AT-0012、测试test2.jsp页面信息,如图AT-002图AT- 0023、三个Tomcat服务段信息 Tomcat1输出信息如图AT-003 Tomcat2输出信息如图AT-004Tomcat2输出信息如图AT-005图 AT-003图 AT-004图 AT-052.6.2 集群容错测试1、关闭Tomcat1,Tomcat2,分别在三个IE 的test.jsp页面输入:分别输入Tomcat1的输入名称:RT1,值:RT1;分别输入Tomcat2的输入名称:RT2,值:RT2;分别输入Tomcat3的输入名称:RT2,值:RT3;测试test2.jsp页面信息如图:图 AT-05所示:图 AT-05个 2、 Tomcat3输出信息如图AT-006,关闭了两个tomcat服务实例tomcat1,tomcat2(服务器), tomcat1,tomcat2的Session会话信息全部复

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论