2014-07-04 160 views
2

我在Tomcat 7上配置Liferay以进行集群。我在网上搜索并找到了几条说明。阅读所有这些问题向我提出了一些问题。如果有人帮助我,我将不胜感激。Tomcat集群配置

A.我知道通过插入server.xml中下面的行中的 “$ {CATALINA_HOME}/CONF”,它配置Tomcat的默认值作为Tomcat文档(link)描述:

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 

下面是一些重要的默认值:

1-组播地址是228.0.0.4
2-组播端口是45564(端口和地址一起确定集群成员
。3-广播的IP为java.net.InetAddress.getLocalHost()。getHostAddress()(请确保不要广播127.0.0.1,这是常见错误)
4-侦听复制邮件的TCP端口是在范围内的第一个可用的服务器套接字4000-4100
5-两个侦听器配置ClusterSessionListener
6-两个拦截器配置TcpFailureDetector和MessageDispatch15Interceptor

由于我的集群环境是小(二Tomcat实例),我想默认配置就足够了。

Q#A。我想知道#3的意思。我怎么犯这个错误?

B.基于上述缺省配置使用IP地址228.0.0.4上的动态集群。我认为这是一个广播地址(如果我错了,请纠正我)。如果是这样,这个link说:

在Linux环境中,大多数系统内核能够处理多播地址。但我们需要在内核路由表中添加路由条目。

sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 

,Q#B中。这是什么意思?我怎么知道我是否应该这样做?

C.作为集群的下一步,我需要将“< distributable/>”元素添加到我的web应用程序的web.xml文件中。服务器上的“$ {CATALINA_HOME}/webapps”文件夹中的每个Web应用程序都有一个web.xml。我明白,他们都应该有这个元素包含在会话复制(纠正我,如果我错了)。

Q#C1。我发现另一个带有“liferay-”作为每个Web应用程序前缀的“web.xml”文件。他们是否应该被视为另一个web.xml并拥有这个元素?

Q#C2。有什么方法可以在一个地方添加“< distributable/>”元素并将其应用于所有Web应用程序?某种父/全球“web.xml”文件?

D.一些说明指出,应在“$ {CATALINA_HOME} /conf/context.xml”文件中的“<上下文>”元素中添加“distributable ='true'”属性。有些不指导它。

Q#D.该配置是强制性的吗?拥有这个属性而没有它的后果是什么?

在此先感谢。

回答

1

A.)登录的IP地址是集群节点的IP地址,而不是组播地址。 udp软件包将包含此ip,以告知发送此软件包的收件人;发件人ip。如果它被设置为localhost/127.0.0.1,收件人将无法呼叫发件人,因为它会自行调用。

B.)我从来不需要添加这样的路线。对不起,不能告诉。如果没有它,我会试一试。 C)只有“主”Liferay应用程序需要可分发标志,因为它会处理会话。 D)在web.xml中添加标志也是一样的。在上下文元素中,您可以覆盖特定服务器的此属性。如果该标记已设置,则应用程序将参与会话复制,即如果平衡器将粘滞会话标志设置为false,则客户端将不断重定向,从而在每个节点上创建新会话。如果设置,它们也将被重定向,但保持第一次会话。