blob: 8503a0a676dc98e2ed088227adef806395b0527c [file] [log] [blame]
Hongqing Liufd5ee812014-05-10 16:32:51 +08001<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference (6.0.39) - The Cluster Membership object</title><meta name="author" content="Filip Hanik"><style type="text/css" media="print">
2 .noPrint {display: none;}
3 td#mainBody {width: 100%;}
4 </style></head><body bgcolor="#ffffff" text="#000000" link="#525D76" alink="#525D76" vlink="#525D76"><table border="0" width="100%" cellspacing="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img src="../images/tomcat.gif" align="right" alt="
5 The Apache Tomcat Servlet/JSP Container
6 " border="0"></a></td><td><h1><font face="arial,helvetica,sanserif">Apache Tomcat 6.0</font></h1><font face="arial,helvetica,sanserif">Version 6.0.39, Jan 27 2014</font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img src="../images/asf-logo.gif" align="right" alt="Apache Logo" border="0"></a></td></tr></table><table border="0" width="100%" cellspacing="4"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td width="20%" valign="top" nowrap="nowrap" class="noPrint"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Executors</strong></p><ul><li><a href="executor.html">Executor</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li><li><a href="cluster.html">Cluster</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="listeners.html">Listeners</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul><p><strong>Cluster Elements</strong></p><ul><li><a href="cluster.html">Cluster</a></li><li><a href="cluster-manager.html">Manager</a></li><li><a href="cluster-channel.html">Channel</a></li><li><a href="cluster-membership.html">Channel/Membership</a></li><li><a href="cluster-sender.html">Channel/Sender</a></li><li><a href="cluster-receiver.html">Channel/Receiver</a></li><li><a href="cluster-interceptor.html">Channel/Interceptor</a></li><li><a href="cluster-valve.html">Valve</a></li><li><a href="cluster-deployer.html">Deployer</a></li><li><a href="cluster-listener.html">ClusterListener</a></li></ul><p><strong>Other</strong></p><ul><li><a href="filter.html">Filter</a></li><li><a href="systemprops.html">System properties</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td width="80%" valign="top" align="left" id="mainBody"><h1>Apache Tomcat Configuration Reference</h1><h2>The Cluster Membership object</h2><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Table of Contents"><!--()--></a><a name="Table_of_Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
7<ul><li><a href="#Introduction">Introduction</a></li><li><a href="#Default_Implementation">Default Implementation</a></li><li><a href="#Attributes">Attributes</a><ol><li><a href="#Multicast_Attributes">Multicast Attributes</a></li></ol></li></ul>
8</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
9 <p>
10 The membership component in the Apache Tribes <a href="cluster-channel.html">Channel</a> is responsible
11 for dynamic discovery of other members(nodes) in the cluster.
12 </p>
13</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Default Implementation"><!--()--></a><a name="Default_Implementation"><strong>Default Implementation</strong></a></font></td></tr><tr><td><blockquote>
14 <p>
15 The default implementation of the cluster group notification is built on top of multicast heartbeats
16 sent using UDP packets to a multicast IP address.
17 Cluster members are grouped together by using the same multicast address/port combination.
18 Each member sends out a heartbeat with a given interval (<code>frequency</code>), and this
19 heartbeat is used for dynamic discovery.
20 In a similar fashion, if a heartbeat has not been received in a timeframe specified by <code>dropTime</code>
21 ms. a member is considered suspect and the channel and any membership listener will be notified.
22 </p>
23</blockquote></td></tr></table><table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#525D76"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
24
25 <table border="0" cellspacing="0" cellpadding="2"><tr><td bgcolor="#828DA6"><font color="#ffffff" face="arial,helvetica.sanserif"><a name="Multicast Attributes"><!--()--></a><a name="Multicast_Attributes"><strong>Multicast Attributes</strong></a></font></td></tr><tr><td><blockquote>
26
27 <table border="1" cellpadding="5"><tr><th width="15%" bgcolor="#023264"><font color="#ffffff">Attribute</font></th><th width="85%" bgcolor="#023264"><font color="#ffffff">Description</font></th></tr><tr><td align="left" valign="center"><strong><code>className</code></strong></td><td align="left" valign="center">
28 <p>
29 The default value is <code>org.apache.catalina.tribes.membership.McastService</code>
30 and is currently the only implementation.
31 This implementation uses multicast heartbeats for member discovery.
32 </p>
33 </td></tr><tr><td align="left" valign="center"><code>address</code></td><td align="left" valign="center">
34 <p>
35 The multicast address that the membership will broadcast its presence and listen
36 for other heartbeats on. The default value is <code>228.0.0.4</code>
37 Make sure your network is enabled for multicast traffic.<br>
38 The multicast address, in conjunction with the <code>port</code> is what
39 creates a cluster group. To divide up your farm into several different group, or to
40 split up QA from production, change the <code>port</code> or the <code>address</code>
41 <br>Previously known as mcastAddr.
42 </p>
43 </td></tr><tr><td align="left" valign="center"><code>port</code></td><td align="left" valign="center">
44 <p>
45 The multicast port, the default value is <code>45564</code><br>
46 The multicast port, in conjunction with the <code>address</code> is what
47 creates a cluster group. To divide up your farm into several different group, or to
48 split up QA from production, change the <code>port</code> or the <code>address</code>
49 </p>
50 </td></tr><tr><td align="left" valign="center"><code>frequency</code></td><td align="left" valign="center">
51 <p>
52 The frequency in milliseconds in which heartbeats are sent out. The default value is <code>500</code> ms.<br>
53 In most cases the default value is sufficient. Changing this value, simply changes the interval in between heartbeats.
54 </p>
55 </td></tr><tr><td align="left" valign="center"><code>dropTime</code></td><td align="left" valign="center">
56 <p>
57 The membership component will time out members and notify the Channel if a member fails to send a heartbeat within
58 a give time. The default value is <code>3000</code> ms. This means, that if a heartbeat is not received from a
59 member in that timeframe, the membership component will notify the cluster of this.<br>
60 On a high latency network you may wish to increase this value, to protect against false positives.<br>
61 Apache Tribes also provides a <a href="cluster-interceptor.html#tcpfailuredetector"><code>TcpFailureDetector</code></a> that will
62 verify a timeout using a TCP connection when a heartbeat timeout has occurred. This protects against false positives.
63 </p>
64 </td></tr><tr><td align="left" valign="center"><code>bind</code></td><td align="left" valign="center">
65 <p>
66 Use this attribute if you wish to bind your multicast traffic to a specific network interface.
67 By default, or when this attribute is unset, it tries to bind to <code>0.0.0.0</code> and sometimes on multihomed hosts
68 this becomes a problem.
69 </p>
70 </td></tr><tr><td align="left" valign="center"><code>ttl</code></td><td align="left" valign="center">
71 <p>
72 The time-to-live setting for the multicast heartbeats.
73 This setting should be a value between 0 and 255. The default value is VM implementation specific.
74 </p>
75 </td></tr><tr><td align="left" valign="center"><code>domain</code></td><td align="left" valign="center">
76 <p>
77 Apache Tribes has the ability to logically group members into domains, by using this domain attribute.
78 The <code>org.apache.catalina.tribes.Member.getDomain()</code> method returns the value specified here.
79 </p>
80 </td></tr><tr><td align="left" valign="center"><code>soTimeout</code></td><td align="left" valign="center">
81 <p>
82 The sending and receiving of heartbeats is done on a single thread, hence to avoid blocking this thread forever,
83 you can control the <code>SO_TIMEOUT</code> value on this socket.<br>
84 If a value smaller or equal to 0 is presented, the code will default this value to frequency
85 </p>
86 </td></tr><tr><td align="left" valign="center"><code>recoveryEnabled</code></td><td align="left" valign="center">
87 <p>
88 In case of a network failure, Java multicast socket don't transparently fail over, instead the socket will continuously
89 throw IOException upon each receive request. When recoveryEnabled is set to true, this will close the multicast socket
90 and open a new socket with the same properties as defined above.<br>
91 The default is <code>true</code>. <br>
92 </p>
93 </td></tr><tr><td align="left" valign="center"><code>recoveryCounter</code></td><td align="left" valign="center">
94 <p>
95 When <code>recoveryEnabled==true</code> this value indicates how many times we will try recovery.
96 The default is <code>10</code>. <br>
97 </p>
98 </td></tr><tr><td align="left" valign="center"><code>recoverySleepTime</code></td><td align="left" valign="center">
99 <p>
100 When <code>recoveryEnabled==true</code> this value indicates how long time (in milliseconds)
101 the system will sleep in between recovery attempts, until we either recovered successfully or we have reached the
102 recoveryCounter limit.
103 The default is <code>5000</code> (5 seconds). <br>
104 </p>
105 </td></tr></table>
106
107
108 </blockquote></td></tr></table>
109
110
111</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr noshade="noshade" size="1"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font color="#525D76" size="-1"><em>
112 Copyright &copy; 1999-2014, Apache Software Foundation
113 </em></font></div></td></tr></table></body></html>