| The scope of this document to to define how Apache TomEE can be configured for HA (High Availability) clustering. |
| |
| The configuration will focus on two local instances, with a view to an open ended remote configuration. |
| |
| It is beyond the scope of this documentation to discuss Tomcat CLustering in depth. |
| Please read the [Apache Tomcat Clustering Howto](http://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html) for more information. |
| |
| ###Local cluster |
| To test clustering locally (on the same physical machine) the default ports need to be modified on the second TomEE server. |
| You do not need to do this if the second TomEE instance is to run on different machine or virtual host. |
| |
| Note: You cannot test load balancing on a local cluster as they will be running of different ports. |
| This configuration is only useful for testing Session Replication and application deployment. |
| |
| In the [TomEE]/conf/server.xml look for and change the following port definitions to something like: |
| |
| <Server port="9005" shutdown="SHUTDOWN"> |
| |
| <Connector port="9080" protocol="HTTP/1.1" |
| connectionTimeout="20000" |
| redirectPort="9443" /> |
| |
| <!-- |
| <Connector port="9443" protocol="HTTP/1.1" SSLEnabled="true" |
| maxThreads="150" scheme="https" secure="true" |
| clientAuth="false" sslProtocol="TLS" /> |
| --> |
| |
| <Connector port="9009" protocol="AJP/1.3" redirectPort="9443" /> |
| |
| ###Test Startup |
| Start both TomEE servers together and check for and resolve any errors before proceeding any further. |
| |
| Once you are sure both servers can run without error add the following to the **<Host>** section of both server.xml files: |
| |
| ... |
| <Engine name="Catalina" defaultHost="localhost"> |
| ... |
| <Host name="localhost" appBase="webapps" |
| unpackWARs="true" autoDeploy="true"> |
| |
| <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> |
| |
| Start both TomEE servers together and again check for and resolve any errors before proceeding any further. |
| Basically look in both [TomEE]/logs/catalina.[date].log and search for *"SimpleTcpCluster memberAdded"*. |
| This lets us know that the cluster added a new member. |
| |
| Stop both the servers, as we will need to add some more configuration to the *server.xml*. |
| |
| First create the following directory structure within the TomEE installation (You can change the names later to suit your needs if required). |
| |
| [TomEE]/cluster |
| [TomEE]/cluster/temp |
| [TomEE]/cluster/watch |
| [TomEE]/cluster/webapps |
| |
| We now need to add these paths to the **Host** section of the configuration file: |
| |
| ... |
| <Engine name="Catalina" defaultHost="localhost"> |
| ... |
| <Host name="localhost" appBase="webapps" |
| unpackWARs="true" autoDeploy="true"> |
| |
| <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"> |
| <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" |
| tempDir="cluster/temp" |
| deployDir="cluster/webapps" |
| watchDir="cluster/watch" |
| watchEnabled="true"/> |
| </Cluster> |
| ... |