2014-07-04 217 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,則客戶端將不斷重定向,從而在每個節點上創建新會話。如果設置,它們也將被重定向,但保持第一次會話。