`
hjy2099
  • 浏览: 256421 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Tomcat集群技术部署文档(2)

阅读更多

2.3 配置tomcat

同属于一个集群下的两个服务实体,要求功能的同一性,所以我们可先安装和配置第一个tomcat,接着拷贝形成第二个tomcat,最后配置第二个tomcat

2.3.1 安装第一个tomcat

安装tomcat 非常简单,本文就不再描述。我们假设第一个tomcat的安装路径为d:\tomcat1

拷贝tomcat-javagroups.jarjavagroups.jard:\tomcat1\ server\lib 路径下

2.3.2 配置第一个tomcat

2.3.2.1 配置jk2

tomcat 中的jk2 connector缺省端口为8009,为了在一台机器上运行两个tomcat,修改D:\Tomcat1\conf\jk2.properties,设置jk2 connector的端口为11009,整个文件内容如下:

 #++++++++++++++

channelSocket.port=11009

#++++++++++++++

 

2.3.2.2 修改server.conf

首先为了让一台机器上运行两个tomcat,修改server.conftomcat 停止指令监听端口:

 <Server port="8005" shutdown="SHUTDOWN" debug="0"> 改为

<Server port="11005" shutdown="SHUTDOWN" debug="0">

 

然后打开JK2 AJP connector ,关闭其它connector,下面是JK2 AJP 1.3的样子,这里已把它的端口改为11009

 <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->

    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"

               port="11009" minProcessors="5" maxProcessors="75"

               enableLookups="true" redirectPort="8443"

               acceptCount="10" debug="0" connectionTimeout="20000"

               useURIValidationHack="false"

               protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>

 

接着配置需要集群支持的webapp(比如examples context,添加如下

 <Manager

      className="org.apache.catalina.session.InMemoryReplicationManager"

        protocolStack="UDP(mcast_addr=228.1.2.3;mcast_port=45566;ip_ttl=32):PING(timeout=3000;num_initial_members=6):FD(timeout=5000):VERIFY_SUSPECT(timeout=1500):
               pbcast.STABLE(desired_avg_gossip=10000):pbcast.NAKACK(gc_lag=10;
               retransmit_timeout=3000):UNICAST(timeout=5000;min_wait_time=2000):
                MERGE2:FRAG:pbcast.GMS(join_timeout=5000;join_retry_timeout=2000;       shun=false;print_local_addr=false)">
              </Manager>

注意protocolStack的值必须在一行内写完。

2.3.3 配置第二个tomcat

我们先把已经配好的第一个tomcat复制一份,形成第二个tomcat,假设路径为d:\tomcat2

2.3.3.1 配置jk2

修改D:\Tomcat2\conf\jk2.properties,设置jk2 connector的端口12009,整个文件内容如下:

 

#++++++++++++++

channelSocket.port=12009

#++++++++++++++

 

2.3.3.2 修改server.conf

有了第一个tomcat的配置我们只需修改server.conftomcat 停止指令监听端口:

<Server port="11005" shutdown="SHUTDOWN" debug="0"> 改为

<Server port="12005" shutdown="SHUTDOWN" debug="0">

 

然后设置JK2 AJP connector 端口为12009

2.4 运行测试

启动apachetomcat1tomcat2

2.4.1 测试负载均衡

我们先准备两个文件,第一个文件为test.jsp,拷贝到第一个tomcat 的根web应用的目录即d:\tomcat1\webapps\ROOT 下:

<html>

<body bgcolor="blue">

<center>

<%= request.getSession().getId() %>

<h1>Tomcat 2</h1>

</body>

</html>

 

从不同的浏览器中多次输入地址http://localhost/test.jsp 会看到不同的颜色,这表明apache中的jk2模块起到了负载均衡的作用。

2.4.2 测试错误恢复

访问url: http://localhost/examples/servlet/SessionExample 可以得到一个关于session的例子,我们用它来测试集群的错误恢复能力。

测试步骤如下:

1.   关闭tomcat1和tomcat2;

2.   启动tomcat1

3.            

4.   在浏览器中输入属性名tomcat1和属性值tomcat1再提交,返回的页面显示session中有刚刚输入的tomcat1属性;

5.   启动tomcat2;

6.   过一会后(等待tomcat2和tomcat1通信并复制信息)关闭tomcat1;

7.   在浏览器中输入属性名tomcat2和属性值tomcat2再提交,返回的页面显示session中有刚刚输入的tomcat2属性,还有先前输入的tomcat1属性;

8.  启动tomcat1;

9.  过一会后(等待tomcat2和tomcat1通信并复制信息)关闭tomcat2;

10.  在浏览器中输入属性名tomcat11和属性值tomcat11再提交,返回的页面显示session中有刚刚输入的tomcat11属性,还有先前输入的tomcat1和tomcat2属性;

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics