Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Add question list to start.

...

This page discusses cluster- and clustering-related questions. Please make sure to read the Clustering HowTo page in the main Tomcat documentation bundle as well.

Questions

  1. Wiki Markup
    \[#Q1 Can I configure a cluster at the Engine level?\]
  2. Wiki Markup
    \[#Q2 Show me a simple cluster configuration example.\]
  3. Wiki Markup
    \[#Q3 How do I turn on transport logging?\]
  4. Wiki Markup
    \[#Q4 How do I use JMX to monitor the cluster?\]
  5. Wiki Markup
    \[#Q5 Can I pause the message sending?\]
  6. Wiki Markup
    \[#Q6 Can I add more senders (pooled mode)?\]
  7. Wiki Markup
    \[#Q7 What happens when I pull the network cable?\]
  8. Wiki Markup
    \[#Q8 On my windows laptop without network my cluster doesn't work.\]
  9. Wiki Markup
    \[#Q9 The cluster
    doesn
     dosen't work under
    Linux
     linux with two nodes on two boxes.\]
  10. Wiki Markup
    \[#Q10 I get "localhost" rather than "eth0" or another interface when using tcpListenAddress="auto".\]
    \\

Answers

AnchorQ1Q1Can I configure a cluster at the Engine level?

Yes, beginning with Tomcat 5.5.10 you can configure clusters at both the Engine and Host levels. This helps support clustering for web hosting companies.anchor

Q2Q2Show me a simple cluster configuration example.

...

No Format
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster" defaultMode="true" />

...

How do I turn on transport logging?

  • Use "org.apache.catalina.cluster" as logger category and switch to info, debug or trace as log level.
  • Configure the clusterLog attribute (logging category) to get and send and receive message log.

AnchorQ4Q4How do I use JMX to monitor the cluster?

With Java 5 you can use the jconsole application to look inside the runnnig cluster: please see the JMX configuration section in the Clustering HowTo document. In fastasyncmode replication mode you can got more information with sender attributes doProcessingStats="true" and queueDoStats="true". Finally, with the new JMX remote ant task you can access the state and call operations.

AnchorQ5Q5Can I pause the message sending?

Yes, the async senders buffer the messages, but make sure the membership ping is active. With fastasyncqueue mode you can limit the max queue size.anchor

Q6Q6Can I add more senders (pooled mode)?

Yes, with sender attribute maxPoolSocketLimit="40" you can have more than the default 25 sockets to transfer more parallel messages.

AnchorQ7Q7What happens when I pull the network cable?

The other members will remove the instance from the cluster, but when you insert the cable again, the Tomcat instance might have completely flipped out. This is because the OS might start using 100% of the CPU when a multicast message is sent. There has not yet been a good solution for this, I will let you know when I have come up with one. (pero: I test this and I works correct with java 5 and exists when you use the cluster with JDK 1.4.x)

AnchorQ8Q8On my windows laptop without network my cluster doesn't work.

The Membership attribute mcastBindAddress="127.0.0.1" must be set!anchor

Q9Q9The cluster doesndosen't work under Linux linux with two nodes on two boxes.

...

  • Is your network interface enabled for multicast? ifconfig eth0 MULTICAST
  • Exists a multicast route to your network interface? route add -host 228.0.0.4 dev eth0
  • Is your firewall active? Then check that multicast port is on your UDP open list and the receiver TCP port is also for both machines open!

...


I get "localhost" rather than "eth0" or another interface when using tcpListenAddress="auto".

Change /etc/hosts so that the localhost domain resolves to the actual IP address of the NIC, eth0. Please see Bugzilla for more. CategoryFAQ