qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jonat...@apache.org
Subject svn commit: r1066594 - /qpid/trunk/qpid/doc/book/src/Starting-a-cluster.xml
Date Wed, 02 Feb 2011 19:45:02 GMT
Author: jonathan
Date: Wed Feb  2 19:45:02 2011
New Revision: 1066594

URL: http://svn.apache.org/viewvc?rev=1066594&view=rev
Log:
Fixed formatting of BNF for cluster urls.

Modified:
    qpid/trunk/qpid/doc/book/src/Starting-a-cluster.xml

Modified: qpid/trunk/qpid/doc/book/src/Starting-a-cluster.xml
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/doc/book/src/Starting-a-cluster.xml?rev=1066594&r1=1066593&r2=1066594&view=diff
==============================================================================
--- qpid/trunk/qpid/doc/book/src/Starting-a-cluster.xml (original)
+++ qpid/trunk/qpid/doc/book/src/Starting-a-cluster.xml Wed Feb  2 19:45:02 2011
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
- 
+
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
@@ -8,16 +8,16 @@
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at
- 
+
    http://www.apache.org/licenses/LICENSE-2.0
- 
+
  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
- 
+
 -->
 
 <section id="chap-Messaging_User_Guide-High_Availability_Messaging_Clusters">
@@ -32,7 +32,7 @@
 		An OpenAIS daemon runs on every machine in the cluster, and these daemons communicate using
multicast on a particular address. Every qpidd process in a cluster joins a named group that
is automatically synchronized using OpenAIS Closed Process Groups (CPG) — the qpidd processes
multicast events to the named group, and CPG ensures that each qpidd process receives all
the events in the same sequence. All members get an identical sequence of events, so they
can all update their state consistently.
 	</para>
 	 <para>
-		Two messaging brokers are in the same cluster if 
+		Two messaging brokers are in the same cluster if
 		<orderedlist>
 			<listitem>
 				<para>
@@ -62,13 +62,13 @@
 		 <para>
 			Clustering is implemented using the <filename>cluster.so</filename> module,
which is loaded by default when you start a broker. To run brokers in a cluster, make sure
they all use the same OpenAIS mcastaddr, mcastport, and bindnetaddr. All brokers in a cluster
must also have the same cluster name — specify the cluster name in <filename>qpidd.conf</filename>:
 		</para>
-		 
+
 <screen>cluster-name=&#34;local_test_cluster&#34;
 </screen>
 		 <para>
 			On RHEL6, you must create the file <filename>/etc/corosync/uidgid.d/qpidd</filename>
to tell Corosync the name of the user running the broker.By default, the user is qpidd:
 		</para>
-		 
+
 <programlisting>
 uidgid {
    uid: qpidd
@@ -78,13 +78,13 @@ uidgid {
 		 <para>
 			On RHEL5, the primary group for the process running qpidd must be the ais group. If you
are running qpidd as a service, it is run as the <command>qpidd</command> user,
which is already in the ais group. If you are running the broker from the command line, you
must ensure that the primary group for the user running qpidd is ais. You can set the primary
group using <command>newgrp</command>:
 		</para>
-		 
+
 <screen>$ newgrp ais
 </screen>
 		 <para>
 			You can then run the broker from the command line, specifying the cluster name as an option.
 		</para>
-		 
+
 <screen>[jonathan@localhost]$ qpidd --cluster-name=&#34;local_test_cluster&#34;
 </screen>
 		 <para>
@@ -117,9 +117,9 @@ uidgid {
 		 <para>
 			The qpid log contains entries that record significant clustering events, e.g. when a broker
becomes a member of a cluster, the membership of a cluster is changed, or an old journal is
moved out of the way. For instance, the following message states that a broker has been added
to a cluster as the first node:
 		</para>
-		 
+
 <screen>
-2009-07-09 18:13:41 info 127.0.0.1:1410(READY) member update: 127.0.0.1:1410(member) 
+2009-07-09 18:13:41 info 127.0.0.1:1410(READY) member update: 127.0.0.1:1410(member)
 2009-07-09 18:13:41 notice 127.0.0.1:1410(READY) first in cluster
 </screen>
 		 <note>
@@ -134,8 +134,8 @@ uidgid {
 		 <table frame="all" id="tabl-Messaging_User_Guide-Starting_a_Broker_in_a_Cluster-Options_for_High_Availability_Messaging_Cluster">
 			<title>Options for High Availability Messaging Cluster</title>
 			 <tgroup align="left" cols="2" colsep="1" rowsep="1">
-				<colspec colname="c1"></colspec>
-				 <colspec colname="c2"></colspec>
+				<colspec colname="c1" colwidth="1*"></colspec>
+				 <colspec colname="c2" colwidth="4*"></colspec>
 				 <thead>
 					<row>
 						<entry align="center" nameend="c2" namest="c1">
@@ -169,7 +169,7 @@ uidgid {
 							<command>--cluster-url <replaceable>URL</replaceable></command>
 						</entry>
 						 <entry>
-							An AMQP URL containing the local address that the broker advertizes to clients for
fail-over connections. This is different for each host. By default, all local addresses for
the broker are advertized. You only need to set this if 
+							An AMQP URL containing the local address that the broker advertizes to clients for
fail-over connections. This is different for each host. By default, all local addresses for
the broker are advertized. You only need to set this if
 							<orderedlist>
 								<listitem>
 									<para>
@@ -185,7 +185,16 @@ uidgid {
 								</listitem>
 
 							</orderedlist>
-							 Each broker in the cluster is specified using the form: <command> url = [&#34;amqp:&#34;][
user [&#34;/&#34; password] &#34;@&#34; ] protocol_addr *(&#34;,&#34;
protocol_addr) protocol_addr = tcp_addr / rmda_addr / ssl_addr / ... tcp_addr = [&#34;tcp:&#34;]
host [&#34;:&#34; port] rdma_addr = &#34;rdma:&#34; host [&#34;:&#34;
port] ssl_addr = &#34;ssl:&#34; host [&#34;:&#34; port]</command> In
most cases, only one address is advertized, but more than one address can be specified in
if the machine running the broker has more than one network interface card, and you want to
allow clients to connect using multiple network interfaces. Use a comma delimiter (&#34;,&#34;)
to separate brokers in the URL. Examples: 
+							<para>Each broker in the cluster is specified using the following form:</para>
+
+<programlisting>url = [&#34;amqp:&#34;][ user [&#34;/&#34; password]
&#34;@&#34; ] protocol_addr
+         (&#34;,&#34; protocol_addr)*
+protocol_addr = tcp_addr / rmda_addr / ssl_addr / ...
+tcp_addr = [&#34;tcp:&#34;] host [&#34;:&#34; port]
+rdma_addr = &#34;rdma:&#34; host [&#34;:&#34; port]
+ssl_addr = &#34;ssl:&#34; host [&#34;:&#34; port]</programlisting>
+
+                            <para>In most cases, only one address is advertized, but
more than one address can be specified in if the machine running the broker has more than
one network interface card, and you want to allow clients to connect using multiple network
interfaces. Use a comma delimiter (&#34;,&#34;) to separate brokers in the URL. Examples:</para>
 							<itemizedlist>
 								<listitem>
 									<para>
@@ -214,7 +223,7 @@ uidgid {
 								CMAN protects against the &#34;split-brain&#34; condition, in which a network
failure splits the cluster into two sub-clusters that cannot communicate with each other.
When &#34;split-brain&#34; occurs, each of the sub-clusters can access shared resources
without knowledge of the other sub-cluster, resulting in corrupted cluster integrity.
 							</para>
 							 <para>
-								To avoid &#34;split-brain&#34;, CMAN uses the notion of a &#34;quorum&#34;.
If more than half the cluster nodes are active, the cluster has quorum and can act. If half
(or fewer) nodes are active, the cluster does not have quorum, and all cluster activity is
stopped. There are other ways to define the quorum for particular use cases (e.g. a cluster
of only 2 members), see the <ulink url="http://sources.redhat.com/cluster/wiki">CMAN
Wiki</ulink> 
+								To avoid &#34;split-brain&#34;, CMAN uses the notion of a &#34;quorum&#34;.
If more than half the cluster nodes are active, the cluster has quorum and can act. If half
(or fewer) nodes are active, the cluster does not have quorum, and all cluster activity is
stopped. There are other ways to define the quorum for particular use cases (e.g. a cluster
of only 2 members), see the <ulink url="http://sources.redhat.com/cluster/wiki">CMAN
Wiki</ulink>
 for more detail.
 							</para>
 							 <para>
@@ -260,7 +269,7 @@ for more detail.
 		 <para>
 			If a broker is unable to establish a connection to another broker in the cluster, the
log will contain SASL errors, e.g:
 		</para>
-		 
+
 <screen>2009-aug-04 10:17:37 info SASL: Authentication failed: SASL(-13): user not
found: Password verification failed
 </screen>
 		 <para>
@@ -274,16 +283,16 @@ for more detail.
 		</para>
 
 	</section>
-	
+
 	 <section id="sect-Messaging_User_Guide-High_Availability_Messaging_Clusters-qpid_cluster">
 		<title>qpid-cluster</title>
 		 <para>
 			<command>qpid-cluster</command> is a command-line utility that allows you
to view information on a cluster and its brokers, disconnect a client connection, shut down
a broker in a cluster, or shut down the entire cluster. You can see the options using the
<command>--help</command> option:
 		</para>
-		 
+
 <screen>$ ./qpid-cluster --help
 </screen>
-		 
+
 <screen>Usage:  qpid-cluster [OPTIONS] [broker-addr]
 
              broker-addr is in the form:   [username/password@] hostname | ip-address [:&#60;port&#62;]
@@ -302,14 +311,14 @@ Options:
 		 <para>
 			Let&#39;s connect to a cluster and display basic information about the cluser and
its brokers. When you connect to the cluster using <command>qpid-tool</command>,
you can use the host and port for any broker in the cluster. For instance, if a broker in
the cluster is running on <filename>localhost</filename> on port 6664, you can
start <command>qpid-tool</command> like this:
 		</para>
-		 
+
 <screen>
 $ qpid-cluster localhost:6664
 </screen>
 		 <para>
 			Here is the output:
 		</para>
-		 
+
 <screen>
   Cluster Name: local_test_cluster
 Cluster Status: ACTIVE
@@ -321,12 +330,12 @@ Cluster Status: ACTIVE
 		 <para>
 			The ID for each broker in cluster is given on the left. For instance, the ID for the first
broker in the cluster is <command>127.0.0.1:13143</command>. The URL in the output
is the broker&#39;s advertized address. Let&#39;s use the ID to shut the broker down
using the <command>--stop</command> command:
 		</para>
-		 
+
 <screen>$ ./qpid-cluster localhost:6664 --stop 127.0.0.1:13143
 </screen>
 
 	</section>
-	
+
 	 <section id="sect-Messaging_User_Guide-High_Availability_Messaging_Clusters-Failover_in_Clients">
 		<title>Failover in Clients</title>
 		 <para>
@@ -349,7 +358,7 @@ Cluster Status: ACTIVE
 			 <para>
 				You can configure a connection to use failover using the <command>failover</command>
property:
 			</para>
-			 
+
 <screen>
 connectionfactory.qpidConnectionfactory = amqp://guest:guest@clientid/test?brokerlist=&#39;tcp://localhost:5672&#39;&amp;failover=&#39;failover_exchange&#39;
 </screen>
@@ -393,13 +402,13 @@ connectionfactory.qpidConnectionfactory 
 			 <para>
 				In a Connection URL, heartbeat is set using the <command>idle_timeout</command>
property, which is an integer corresponding to the heartbeat period in seconds. For instance,
the following line from a JNDI properties file sets the heartbeat time out to 3 seconds:
 			</para>
-			 
+
 <screen>
 connectionfactory.qpidConnectionfactory = amqp://guest:guest@clientid/test?brokerlist=&#39;tcp://localhost:5672&#39;,idle_timeout=3
 </screen>
 
 		</section>
-		
+
 		 <section id="sect-Messaging_User_Guide-Failover_in_Clients-Failover_and_the_Qpid_Messaging_API">
 			<title>Failover and the Qpid Messaging API</title>
 			 <para>
@@ -413,10 +422,10 @@ connectionfactory.qpidConnectionfactory 
 			</para>
 
 		</section>
-		
+
 
 	</section>
-	
+
 	 <section id="sect-Messaging_User_Guide-High_Availability_Messaging_Clusters-Error_handling_in_Clusters">
 		<title>Error handling in Clusters</title>
 		 <para>
@@ -439,7 +448,7 @@ connectionfactory.qpidConnectionfactory 
 		</para>
 		 <!--                "Bad case" for cluster matrix - things we will fix, or things users
may encounter long term?                -->
 	</section>
-	
+
 	 <section id="sect-Messaging_User_Guide-High_Availability_Messaging_Clusters-Persistence_in_High_Availability_Message_Clusters">
 		<title>Persistence in High Availability Message Clusters</title>
 		 <para>
@@ -461,7 +470,7 @@ connectionfactory.qpidConnectionfactory 
 			</para>
 
 		</section>
-		
+
 		 <section id="sect-Messaging_User_Guide-Persistence_in_High_Availability_Message_Clusters-Starting_a_persistent_cluster">
 			<title>Starting a persistent cluster</title>
 			 <para>
@@ -493,7 +502,7 @@ connectionfactory.qpidConnectionfactory 
 			</para>
 
 		</section>
-		
+
 		 <section id="sect-Messaging_User_Guide-Persistence_in_High_Availability_Message_Clusters-Stopping_a_persistent_cluster">
 			<title>Stopping a persistent cluster</title>
 			 <para>
@@ -501,7 +510,7 @@ connectionfactory.qpidConnectionfactory 
 			</para>
 
 		</section>
-		
+
 		 <section id="sect-Messaging_User_Guide-Persistence_in_High_Availability_Message_Clusters-Starting_a_persistent_cluster_with_no_clean_store">
 			<title>Starting a persistent cluster with no clean store</title>
 			 <para>
@@ -512,7 +521,7 @@ connectionfactory.qpidConnectionfactory 
 					<para>
 						Move the latest store backup into place in the brokers data-directory. The backups
end in a 4 digit number, the latest backup is the highest number.
 					</para>
-					 
+
 <screen>
  cd &#60;data-dir&#62;
  mv rhm rhm.bak
@@ -522,7 +531,7 @@ connectionfactory.qpidConnectionfactory 
 				</step>
 				 <step>
 					<para>
-						Mark the store as clean: 
+						Mark the store as clean:
 <screen>qpid-cluster-store -c &#60;data-dir&#62;</screen>
 
 					</para>
@@ -530,13 +539,13 @@ connectionfactory.qpidConnectionfactory 
 				</step>
 
 			</procedure>
-			
+
 			 <para>
 				Now you can start the cluster, all members will be initialized from the store you marked
as clean.
 			</para>
 
 		</section>
-		
+
 		 <section id="sect-Messaging_User_Guide-Persistence_in_High_Availability_Message_Clusters-Isolated_failures_in_a_persistent_cluster">
 			<title>Isolated failures in a persistent cluster</title>
 			 <para>
@@ -544,9 +553,9 @@ connectionfactory.qpidConnectionfactory 
 			</para>
 
 		</section>
-		
+
 
 	</section>
-	
+
 
 </section>



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org


Mime
View raw message