Author: shuber
Date: Fri Sep 14 15:16:43 2007
New Revision: 18505
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18505&repname=
=3Djahia
Log:
Updated cluster documentation to add EHCache specific steps & also improved=
Troubleshooting section.
Modified:
trunk/core/src/webapp/html/startup/howto_cluster.html
Modified: trunk/core/src/webapp/html/startup/howto_cluster.html
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/webapp=
/html/startup/howto_cluster.html&rev=3D18505&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/webapp/html/startup/howto_cluster.html (original)
+++ trunk/core/src/webapp/html/startup/howto_cluster.html Fri Sep 14 15:16:=
43 2007
@@ -277,11 +277,23 @@
uncompress it on the server that will act as s=
econd Jahia node. On this server, you will only need to change the =
<i><span class=3D"red">cluster.node.serverId</=
span></i> parameter (see point 3), the <i><span class=3D"red">processingSer=
ver</span></i> parameter =
(see point 4), the <i><span class=3D"red">=
localIndexing</span></i> parameter (see point 6) and the <i><span class=3D"=
red">localIp</span></i>
- parameter in jahia.properties.
- </li>
- </ol>
- If the clustering feature has been
activated, you should see the fol=
lowing line displayed four times with 4 different ports in =
- the output console when starting each
jahia node :<br/>
+ parameter in jahia.properties.
</li>
+ <li>In the EHCache
configuration, you must activate clustering so =
that the caches may be properly invalidated on all
nodes. To do this, in th=
e jahia/WEB-INF/classes/ehcache-jahia.xml, uncomment the following lines :
+ <pre class=3D"code"> <defaultCache<br /> =
maxElementsInMemory=3D"3000"<br /> eternal=
=3D"false"<br /> timeToIdleSeconds=3D"3600"<=
br /> timeToLiveSeconds=3D"14400"<br /> ove=
rflowToDisk=3D"false"<br /> maxElementsOnDisk=3D"=
1000000"<br /> diskPersistent=3D"false"<br /> =
diskExpiryThreadIntervalSeconds=3D"600"<br /> =
memoryStoreEvictionPolicy=3D"LRU"<br /> ><br /> <!-- =
Uncomment this to activate clustering<br /> <cacheEventListenerFa=
ctory =
+ class=3D"net.sf.ehcache.distribution.RMICacheReplicatorFacto=
ry"<br /> properties=3D"replicateAsynchronously=3Dtrue,<b=
r /> replicatePuts=3Dfalse,<br /> replicateUpdates=3Dtrue,<=
br /> replicateUpdatesViaCopy=3Dfalse,<br /> replicateRemov=
als=3Dtrue<br /> asynchronousReplicationIntervalMillis=3D5000"=
/><br /> <bootstrapCacheLoaderFactory<br /> class=3D&qu=
ot;net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory"<br /> =
properties=3D"bootstrapAsynchronously=3Dtrue, maximumChunkSizeBy=
tes=3D5000000"/><br /> --><br /> </defaultCache> =
<br />
+ </pre>
+ In the jahia/WEB-INF/classes/ehcache-hibernate.=
xml file, you must do the same. Be careful because there are two sections t=
o uncomment, the second one being at the end of the file : =
+ <pre class=3D"code"> <defaultCache<br /> =
maxElementsInMemory=3D"1000"<br /> eternal=
=3D"false"<br /> timeToIdleSeconds=3D"3600"<=
br /> timeToLiveSeconds=3D"14400"<br /> ove=
rflowToDisk=3D"false"<br /> maxElementsOnDisk=3D"=
1000000"<br /> diskPersistent=3D"false"<br /> =
diskExpiryThreadIntervalSeconds=3D"600"<br /> =
memoryStoreEvictionPolicy=3D"LRU"<br /> ><br /> <!-- =
Uncomment this to activate clustering<br /> <cacheEventListenerFa=
ctory =
+ class=3D"net.sf.ehcache.distribution.RMICacheReplicatorFacto=
ry"<br /> properties=3D"replicateAsynchronously=3Dtrue,<b=
r /> replicatePuts=3Dfalse,<br /> replicateUpdates=3Dtrue,<=
br /> replicateUpdatesViaCopy=3Dfalse,<br /> replicateRemov=
als=3Dtrue<br /> asynchronousReplicationIntervalMillis=3D5000"=
/><br /> <bootstrapCacheLoaderFactory<br /> class=3D&qu=
ot;net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory"<br /> =
properties=3D"bootstrapAsynchronously=3Dtrue, maximumChunkSizeBy=
tes=3D5000000"/><br /> --><br /> </defaultCache><br=
/>
+ </pre>
+ and : =
+ <pre class=3D"code"><cache<br /> name=
=3D"org.hibernate.cache.UpdateTimestampsCache"<br /> maxEl=
ementsInMemory=3D"5000"<br /> eternal=3D"true"<b=
r /> overflowToDisk=3D"true"><br /> <!-- Uncommen=
t this to activate clustering<br /> <cacheEventListenerFactory =
+ class=3D"net.sf.ehcache.distribution.RMICacheReplicatorFacto=
ry"<br /> properties=3D"replicateAsynchronously=3Dtrue,<b=
r /> replicatePuts=3Dtrue,<br /> replicateUpdates=3Dtrue,<b=
r /> replicateUpdatesViaCopy=3Dtrue,<br /> replicateRemoval=
s=3Dtrue<br /> asynchronousReplicationIntervalMillis=3D5000"/&=
gt;<br /> <bootstrapCacheLoaderFactory<br /> class=3D"=
;net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory"<br /> =
properties=3D"bootstrapAsynchronously=3Dtrue, maximumChunkSizeByte=
s=3D5000000"/><br /> --><br /> </cache><br /> =
=
+ </pre>
+ </li>
+ </ol>
+ If the clustering feature has been
activated, you should see the fol=
lowing line displayed four times with 4 different ports in
+<br/>
<br/>
<p class=3D"code">GMS: address is
ip_address:port</p>
<p>where <i>ip_address</i> is the local IP address of the node, and <i=
>port</i> the port used to communicate =
@@ -339,14 +351,16 @@
<pre class=3D"code">
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name=3D"Standalone" defaultHost=3D"localhost" jvmRoute=3D"jvm1"=
>
---> =
+-->
</pre>
- where <i>jvm1</i> is the name of the worker as declared in the load-=
balancer.<br/>
- <br/><br/>
-
- </p>
- </p>
-
+ <p>where <i>jvm1</i> is the name of the worker as declared in the lo=
ad-balancer.</p>
+ <h2>Troubleshooting cluster configuration</h2>
+ <p>Most cluster configuration issues rise up from problems when usin=
g automatic UDP communication protocols, or multicast. For JGroups setup, t=
hey offer a <a href=3D"http://www.jgroups.org/javagroupsnew/docs/newuser/no=
de15.html">diagnosis setup</a>. You can also refer to their <a href=3D"http=
://www.jgroups.org/javagroupsnew/docs/newuser/index.html">documentation</a>=
for more information about how to setup JGroups.</p>
+ <p>Jahia offers the possibility to use TCP configuration instead of =
UDP for the JGroups communication. In order to change to the TCP configurat=
ion, you will have to comment the UDP configuration and uncomment the tcp o=
nes int the following files :<br />
+ jahia/WEB-INF/etc/spring/applicationcontext-dao.xml<br />
+ jahia/WEB-INF/etc/spring/applicationcontext-hibernate.xml,<br />
+ jahia/WEB-INF/etc/spring/applicationcontext-services.xml</p>
+ <p>The EHCache configuration must be modified also to use manual dis=
covery instead of automatic. Again the <a href=3D"http://ehcache.sourceforg=
e.net/EhcacheUserGuide.html#id.s20.2.2">documentation</a> is available on t=
he <a href=3D"http://ehcache.sourceforge.net/">EHCache website</a>.</p>
</div>
<div class=3D"footer">
Copyright 2007, <a href=3D"http://www.jahia.org">Jahia Ltd</a> - A=
ll rights reserved
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list