利用用Terracotta和Tomcat建立ACTIVE-PASSIVE模式的集群

如果大家还没听过Terracotta 的话, 请参考http://www.javaeye.com/topic/88466这篇文章了解下使用Terracotta 的好处。

下载地址:http://www.terracotta .org/confluence/display/orgsite/Download

大家可以通过这个http://www.terracotta .org/confluence/display/docs1/Sessions+Quick+Start知道如果操作Terracotta 的tomcat cluster地址。

演示中运行了一个Terracotta server, 两个Tomcat server[9081, 9082]。 演示中没有使用如果Build Terracotta ACTIVE-PASSIVE (多个Terracotta server 让Terracotta server也能failover)。


ok。 我先介绍下我的环境。 我共用了2台pc。  使用的是windows环境。

pc1  ip:192.168.1.119  host name:ydeng
pc2  ip:192.168.1.104  host name:icmwei


我会在pc1,pc2 上分别起一个Terracotta server, 和2个tomcat server。 用 %TERRACOTTA_HOME%作为terracotta 的安装地址。


1. 首先打开%TERRACOTTA_HOME%/samples/tc-config.xml 这个文件。修改后的请看如下:

xml 代码
  1. < servers >   
  2.   < server   host = "192.168.1.119"   name = "ydeng" >   
  3.     < data > data/server-data </ data >   
  4.     < logs > logs/server-logs </ logs >   
  5.     < l2-group-port > 9530 </ l2-group-port >   
  6.   </ server >   
  7.   < server   host = "192.168.1.104"   name = "icmwei" >   
  8.     < data > data/server-data </ data >   
  9.     < logs > logs/server-logs </ logs >   
  10.     < l2-group-port > 9530 </ l2-group-port >   
  11.   </ server >       
  12.   < ha >   
  13.     < mode > networked-active-passive </ mode >   
  14.     < networked-active-passive >   
  15.         < election-time > 5 </ election-time >   
  16.     </ networked-active-passive >   
  17.   </ ha >   
  18. </ servers >   



我只列出了 servers 这个节点。你需要在两台机子上都修改。 你可以在%TERRACOTTA_HOME%/samples/这个目录下看到有个start-demo-server.bat bat文件(sh文件for linux)。 这个就是我们用来启动terracotta server的脚本。 启动时他会使用我们修改的tc-config.xml这个文件。

2. 修改%TERRACOTTA_HOME%/tools/sessions/configurator-sandbox/tomcat5.5/tc- config.xml这个文件, 其实跟上面的修改是一样的。都是把servers 节点修改成步骤1的样子。 修改如下:

xml 代码
  1. ....................  省略    
  2. < servers >   
  3.     < server   host = "192.168.1.119"   name = "denny" >   
  4.       < data > data/server-data </ data >   
  5.       < logs > logs/server-logs </ logs >   
  6.       < l2-group-port > 9530 </ l2-group-port >   
  7.     </ server >   
  8.     < server   host = "192.168.1.104"   name = "wenwei" >   
  9.       < data > data/server-data </ data >   
  10.       < logs > logs/server-logs </ logs >   
  11.       < l2-group-port > 9530 </ l2-group-port >   
  12.     </ server >       
  13.     < ha >   
  14.         < mode > networked-active-passive </ mode >   
  15.         < networked-active-passive >   
  16.             < election-time > 5 </ election-time >   
  17.         </ networked-active-passive >   
  18.     </ ha >   
  19.   </ servers >   
  20.   < clients >   
  21.     < logs > logs/client-logs/%(webserver.log.name) </ logs >   
  22.     < modules >   
  23.       < module   name = "clustered-apache-struts-1.1"   version = "1.1.0" />   
  24.     </ modules >   
  25.   </ clients >   
  26.   
  27. ....................  省略  



Ok, 所有的配置都完成了。  让我们分别在两台机子上启动Terracotta server。  运行 %TERRACOTTA_HOME%/samples/start-demo-server.bat。 然后我们再转到%TERRACOTTA_HOME%/tools/sessions/configurator-sandbox/tomcat5.5目 录。运行start.bat 9081 这样我们就启动了目录9081中的tomcat,端口也是9081。 再运行start.bat 9082启动另外一个tomcat实例。 假设现在的active的Terracotta server在ydeng这台机子上。在这台机子上打开Administrator Console。 路径是 开始--》程序--》Terracotta2.4.3--》Administrator Console。 打开之后你会开到如下图所示的界面。

Admin console

Ok. 这样tomcat cluster就算是跑起来了。 要注意的是Terrcatta sever的active-passive的配置有两种方式。 一种是使用共享目录,另外一种是通过network的方式。  我这里使用的是后者。 各自的优缺点请看文章最后提供的参考资料。

最后我们测试下terrcatta server 的failover。 和 failback。  我们ctrol + c掉active的那个terracotta server。 我们再打开icmwei的那台机子的administator conosle。 如下图:




红色应该表示ydeng这台机子上的terracotta server已经down掉了。 而且4个tomcat都已经连到192.168.1.104这个server上了。 他也变成active了(绿色)。  你也可以再试试把ydeng上面的terracotta server再重启。 你会发现ydeng会变成蓝色了。 说明ydeng failback了。



参考:http://www.terracotta .org/confluence/display/docs1/Configuring+a+Terracotta +Server+Cluster

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值