会话群集单个服务器上的Tomcat +赤土陶器

时间:2012-07-03 04:26:53

标签: session tomcat terracotta

我想在单个服务器上使用terracotta和2个tomcat进行会话群集。 我遵循以下指示:

http://artur.ejsmont.org/blog/content/how-to-setup-terracotta-session-clustering-and-replication-for-apache-tomcat-6

这是我的tc-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<tc:tc-config xmlns:tc="http://www.terracotta.org/config"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.terracotta.org/schema/terracotta-4.xsd">
 <servers>
   <server name="nodea" host="localhost">
     <data>/home/meruvian/mydatafolder</data>
     <logs>/home/meruvian/mylogsfolder</logs>
     <l2-group-port>9530</l2-group-port>
   </server>
   <server name="nodeb" host="localhost">
     <data>/home/meruvian/mydatafolder</data>
     <logs>/home/meruvian/mylogsfolder</logs>
     <l2-group-port>9530</l2-group-port>
   </server>
 </servers>
 <clients>
   <logs>/var/log/myclientlogsfolder</logs>
       <modules>
       <module name="tim-tomcat-6.0" version="2.2.0"/>
   </modules>
 </clients>
 <application>
   <dso>
     <instrumented-classes>
       <include>
         <class-expression>*..*</class-expression>
       </include>
       <exclude>org.apache.coyote..*</exclude>
       <exclude>org.apache.catalina..*</exclude>
       <exclude>org.apache.jasper..*</exclude>
       <exclude>org.apache.tomcat..*</exclude>
     </instrumented-classes>
     <web-applications>
       <web-application>sessionapp</web-application>
     </web-applications>
    </dso>
 </application>
</tc:tc-config>

然后当我尝试执行命令时:

/start-tc-server.sh -f ~/Terracotta/terracotta-3.6.2/tc-config.xml 

但我得到的信息如下:

致命赤土陶器启动异常:

*******************************************************************************
You have not specified a name for your Terracotta server, and there are 2 servers defined in the Terracotta configuration file. The script can not automatically choose between the following server names: nodea, nodeb. Pass the desired server name to the script using the -n flag.
*******************************************************************************

的含义是什么
<web-application>sessionapp</web-application>

这是我应用的上传路径吗?

任何人都可以帮我解决这个问题,用tomcat + terracotta集群会话?

由于

1 个答案:

答案 0 :(得分:0)

我绝不是兵马俑的权威,但据我说, 这里有两个问题:

  1. 您已指定在localhost上运行2个服务器,没有端口规范。两者都会尝试占用端口9510(dso端口),这将导致问题。您需要指定不同的dso端口。
  2. 假设您确实修复了端口配置,那么您的服务器都在localhost上运行,因此兵马俑需要知道您尝试启动的服务器。 使用此命令启动nodea:

    /start-tc-server.sh -f ~/Terracotta/terracotta-3.6.2/tc-config.xml -n nodea
    
  3. 类似于nodeb。 看看是否有帮助。