http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started-CommandLine.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started-CommandLine.html.in b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started-CommandLine.html.in new file mode 100644 index 0000000..e4b9ccb --- /dev/null +++ b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started-CommandLine.html.in @@ -0,0 +1,58 @@ +<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">3.5. Using the command line</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Getting-Started-Logging.html">Prev</a> </td><th align="center" width="60%">Chapter 3. Getting Started</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-Concepts.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Getting-Started-CommandLine"></a>3.5. Using the command line</h2></div></div></div><p>The Broker understands a number of command line options which may be used to customise the configuration.</p><p> + For additional details about the broker configuration and related command line arguments see + <a class="xref" href="Java-Broker-Initial-Configuration.html" title="Chapter 5. Initial Configuration">Chapter 5, <em>Initial Configuration</em></a>. + The broker is fully configurable via its Web Management Console, for details of this see + <a class="xref" href="Java-Broker-Management-Channel-Web-Console.html" title="6.2. Web Management Console">Section 6.2, “Web Management Console”</a>. + </p><p>To see usage information for all command line options, use the <code class="option">--help</code> option</p><pre class="programlisting">bin/qpid-server --help</pre><pre class="screen">usage: Qpid [-cic <path>] [-h] [-icp <path>] [-mm] [-mmhttp <port>] + [-mmpass <password>] [-mmqv] [-os] + [-prop <name=value>] [-props <path>] [-sp <path>] [-st <type>] [-v] + -cic,--create-initial-config <path> create a copy of the + initial config file, + either to an + optionally specified + file path, or as + initial-config.json + in the current + directory + -h,--help print this message + -icp,--initial-config-path <path> set the location of + initial JSON config + to use when + creating/overwriting + a broker + configuration store + -mm,--management-mode start broker in + management mode, + disabling the AMQP + ports + -mmhttp,--management-mode-http-port <port> override http + management port in + management mode + -mmpass,--management-mode-password <password> Set the password for + the management mode + user mm_admin + -mmqv,--management-mode-quiesce-virtualhosts make virtualhosts + stay in the quiesced + state during + management mode. + -prop,--config-property <name=value> set a configuration + property to use when + resolving variables + in the broker + configuration store, + with format + "name=value" + -props,--system-properties-file <path> set the location of + initial properties + file to set + otherwise unset + system properties + -sp,--store-path <path> use given + configuration store + location + -st,--store-type <type> use given broker + configuration store + type + -v,--version print the version + information and exit +</pre></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Getting-Started-Logging.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-Getting-Started.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-Concepts.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">3.4. Log file </td><td align="center" width="20%"><a accesskey="h" href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" valign="top" width="40%"> Chapter 4. Concepts</td></tr></table></div></div> \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started-Logging.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started-Logging.html.in b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started-Logging.html.in new file mode 100644 index 0000000..5b230e3 --- /dev/null +++ b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started-Logging.html.in @@ -0,0 +1,4 @@ +<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">3.4. Log file</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Getting-Started-Starting-Stopping-Unix.html">Prev</a> </td><th align="center" width="60%">Chapter 3. Getting Started</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-Getting-Started-CommandLine.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Getting-Started-Logging"></a>3.4. Log file</h2></div></div></div><p>The Broker writes a log file to record both details of its normal operation and any exceptional + conditions. By default the log file is written within the log subdirectory beneath the work directory + - <code class="computeroutput">$QPID_WORK/log/qpid.log</code> (UNIX) and + <code class="computeroutput">%QPID_WORK%\log\qpid.log</code> (Windows).</p><p>For details of how to control the logging, see <a class="xref" href="Java-Broker-Runtime.html#Java-Broker-Runtime-Logging" title="9.1. Logging">Section 9.1, “Logging”</a></p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Getting-Started-Starting-Stopping-Unix.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-Getting-Started.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-Getting-Started-CommandLine.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">3.3. Starting/Stopping the broker on Unix </td><td align="center" width="20%"><a accesskey="h" href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 3.5. Using the com mand line</td></tr></table></div></div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started-Starting-Stopping-Unix.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started-Starting-Stopping-Unix.html.in b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started-Starting-Stopping-Unix.html.in new file mode 100644 index 0000000..63b6a78 --- /dev/null +++ b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started-Starting-Stopping-Unix.html.in @@ -0,0 +1,13 @@ +<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">3.3. Starting/Stopping the broker on Unix</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Getting-Started-Starting-Stopping-Windows.html">Prev</a> </td><th align="center" width="60%">Chapter 3. Getting Started</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-Getting-Started-Logging.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Getting-Started-Starting-Stopping-Unix"></a>3.3. Starting/Stopping the broker on Unix</h2></div></div></div><p>Firstly change to the installation directory used during the <a class="link" href="Java-Broker-Installation-InstallationUnix.html" title="2.5. Installation on UNIX platforms">installation</a> + and ensure that the <a class="link" href="Java-Broker-Installation-InstallationUnix.html#Java-Broker-Installation-InstallationUnix-SettingQPIDWORK" title="2.5.1. Setting the working directory">QPID_WORK environment variable is set</a>.</p><p>Now use the <span class="command"><strong>qpid-server</strong></span> script to start the server:</p><pre class="programlisting">bin/qpid-server</pre><p>Output similar to the following will be seen:</p><pre class="screen">[Broker] BRK-1006 : Using configuration : /var/qpidwork/config.json +[Broker] BRK-1001 : Startup : Version: 7.0.0-SNAPSHOT Build: exported +[Broker] BRK-1010 : Platform : JVM : Oracle Corporation version: 1.7.0_79-b15 OS : Mac OS X version: 10.10.5 arch: x86_64 cores: 4 +[Broker] BRK-1011 : Maximum Memory : Heap : 518,979,584 bytes Direct : 1,610,612,736 bytes +[Broker] BRK-1002 : Starting : Listening on TCP port 5672 +[Broker] MNG-1001 : Web Management Startup +[Broker] MNG-1002 : Starting : HTTP : Listening on port 8080 +[Broker] MNG-1004 : Web Management Ready +[Broker] BRK-1004 : Qpid Broker Ready</pre><p>The BRK-1004 message confirms that the Broker is ready for work. The MNG-1002 and BRK-1002 confirm the ports on + which the Broker is listening (for HTTP management and AMQP respectively).</p><p>To stop the Broker, use Control-C from the controlling shell, use the + <span class="command"><strong>bin/qpid.stop</strong></span> script, use <span class="command"><strong>kill -TERM <pid></strong></span>, or + the <a class="link" href="Java-Broker-Management-Channel-REST-API.html#Java-Broker-Management-Channel-REST-API-Operations" title="6.3.8. Configured Object operations">REST operation broker/shutdown</a>.</p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Getting-Started-Starting-Stopping-Windows.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-Getting-Started.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-Getting-Started-Logging.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">3.2. Starting/Stopping the broker on Windows </td><td align="center" width="20%"><a accesskey="h" href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 3.4. Log file</td></tr></table></div></div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started-Starting-Stopping-Windows.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started-Starting-Stopping-Windows.html.in b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started-Starting-Stopping-Windows.html.in new file mode 100644 index 0000000..803caa1 --- /dev/null +++ b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started-Starting-Stopping-Windows.html.in @@ -0,0 +1,13 @@ +<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">3.2. Starting/Stopping the broker on Windows</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Getting-Started.html">Prev</a> </td><th align="center" width="60%">Chapter 3. Getting Started</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-Getting-Started-Starting-Stopping-Unix.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Getting-Started-Starting-Stopping-Windows"></a>3.2. Starting/Stopping the broker on Windows</h2></div></div></div><p>Firstly change to the installation directory used during the <a class="link" href="Java-Broker-Installation-InstallationWindows.html" title="2.4. Installation on Windows">installation</a> + and ensure that the <a class="link" href="Java-Broker-Installation-InstallationWindows.html#Java-Broker-Installation-InstallationWindows-SettingQPIDWORK" title="2.4.1. Setting the working directory">QPID_WORK environment variable is set</a>.</p><p>Now use the <span class="command"><strong>qpid-server.bat</strong></span> to start the server</p><pre class="programlisting">bin\qpid-server.bat</pre><p>Output similar to the following will be seen:</p><pre class="screen">[Broker] BRK-1006 : Using configuration : C:\qpidwork\config.json +[Broker] BRK-1001 : Startup : Version: 7.0.0-SNAPSHOT Build: 1478262 +[Broker] BRK-1010 : Platform : JVM : Oracle Corporation version: 1.7.0_79-b15 OS : Windows 7 version: 6.1 arch: x86 cores: 4 +[Broker] BRK-1011 : Maximum Memory : Heap : 518,979,584 bytes Direct : 1,610,612,736 bytes +[Broker] BRK-1002 : Starting : Listening on TCP port 5672 +[Broker] MNG-1001 : Web Management Startup +[Broker] MNG-1002 : Starting : HTTP : Listening on port 8080 +[Broker] MNG-1004 : Web Management Ready +[Broker] BRK-1004 : Qpid Broker Ready</pre><p>The BRK-1004 message confirms that the Broker is ready for work. The MNG-1002 and BRK-1002 confirm the ports on + which the Broker is listening (for HTTP management and AMQP respectively).</p><p>To stop the Broker, use Control-C from the controlling command prompt or + <a class="link" href="Java-Broker-Management-Channel-REST-API.html#Java-Broker-Management-Channel-REST-API-Operations" title="6.3.8. Configured Object operations">REST operation broker/shutdown</a>. + </p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Getting-Started.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-Getting-Started.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-Getting-Started-Starting-Stopping-Unix.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Chapter 3. Getting Started </td><td align="center" width="20%"><a accesskey="h" href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 3.3. Starting/Stopping the broker on Unix</td></tr></table></div></div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started.html.in b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started.html.in new file mode 100644 index 0000000..1a244f5 --- /dev/null +++ b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Getting-Started.html.in @@ -0,0 +1,8 @@ +<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter 3. Getting Started</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Installation-OptionalDependencies.html">Prev</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-Getting-Started-Starting-Stopping-Windows.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="Java-Broker-Getting-Started"></a>Chapter 3. Getting Started</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="Java-Broker-Getting-Started.html#Java-Broker-Getting-Started-Introduction">3.1. Introduction</a></span></dt><dt><span class="section"><a href="Java-Broker-Getting-Started-Starting-Stopping-Windows.html">3.2. Starting/S topping the broker on Windows</a></span></dt><dt><span class="section"><a href="Java-Broker-Getting-Started-Starting-Stopping-Unix.html">3.3. Starting/Stopping the broker on Unix</a></span></dt><dt><span class="section"><a href="Java-Broker-Getting-Started-Logging.html">3.4. Log file</a></span></dt><dt><span class="section"><a href="Java-Broker-Getting-Started-CommandLine.html">3.5. Using the command line</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Getting-Started-Introduction"></a>3.1. Introduction</h2></div></div></div><p> + This section describes how to start and stop the Broker, and outlines the various command line options. + </p><p> + For additional details about the broker configuration store and related command line arguments see + <a class="xref" href="Java-Broker-Initial-Configuration.html" title="Chapter 5. Initial Configuration">Chapter 5, <em>Initial Configuration</em></a>. + The broker is fully configurable via its Web Management Console, for details of this see + <a class="xref" href="Java-Broker-Management-Channel-Web-Console.html" title="6.2. Web Management Console">Section 6.2, “Web Management Console”</a>. + </p></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Installation-OptionalDependencies.html">Prev</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-Getting-Started-Starting-Stopping-Windows.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">2.6. Optional Dependencies </td><td align="center" width="20%"><a accesskey="h" href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 3.2. Starting/Stopping the broker on Windows</td></tr></table></div></div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Backup.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Backup.html.in b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Backup.html.in new file mode 100644 index 0000000..70ff3fc --- /dev/null +++ b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Backup.html.in @@ -0,0 +1,2 @@ +<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">10.10. Backups</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-High-Availability-Security.html">Prev</a> </td><th align="center" width="60%">Chapter 10. High Availability</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-High-Availability-Reset-Group-Infomational.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-High-Availability-Backup"></a>10.10. Backups</h2></div></div></div><p>It is recommend to use the hot backup script to periodically backup every node in the + group. <a class="xref" href="Java-Broker-Backup-And-Recovery-Virtualhost-Node.html#Java-Broker-Backup-And-Recovery-Virtualhost-Node-BDB-HA" title="11.2.2. BDB-HA">Section 11.2.2, “BDB-HA”</a>.</p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-High-Availability-Security.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-High-Availability-Reset-Group-Infomational.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">10.9. Security </td><td align="center" width="20%"><a accesskey="h" href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 10.11. Reset Group Information</td></tr></table></div></div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Behaviour.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Behaviour.html.in b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Behaviour.html.in new file mode 100644 index 0000000..344c70a --- /dev/null +++ b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Behaviour.html.in @@ -0,0 +1,77 @@ +<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">10.4. Behaviour of the Group</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-High-Availability-CreatingGroup.html">Prev</a> </td><th align="center" width="60%">Chapter 10. High Availability</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-High-Availability-NodeOperations.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-High-Availability-Behaviour"></a>10.4. Behaviour of the Group</h2></div></div></div><p>This section first describes the behaviour of the group in its default configuration. It + then goes on to talk about the various controls that are available to override it. It + describes the controls available that affect the <a class="link" href="http://en.wikipedia.org/wiki/ACID#Durability" target="_top">durability</a> of transactions and + the data consistency between the master and replicas and thus make trade offs between + performance and reliability.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-Behaviour-Default-Behaviour"></a>10.4.1. Default Behaviour</h3></div></div></div><p>Let's first look at the behaviour of a group in default configuration.</p><p>In the default configuration, for any messaging work to be done, there must be at least + <span class="emphasis"><em>quorum</em></span> nodes present. This means for example, in a three node group, + this means there must be at least two nodes available.</p><p>When a messaging client sends a transaction, it can be assured that, before the control + returns back to his application after the commit call that the following is true:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>At the master, the transaction is <span class="emphasis"><em>written to disk and OS level caches + are flushed</em></span> meaning the data is on the storage device.</p></li><li class="listitem"><p>At least quorum minus 1 replicas, <span class="emphasis"><em>acknowledge the receipt of + transaction</em></span>. The replicas will write the data to the storage device + sometime later.</p></li></ul></div><p>If there were to be a master failure immediately after the transaction was committed, + the transaction would be held by at least quorum minus one replicas. For example, if we had + a group of three, then we would be assured that at least one replica held the + transaction.</p><p>In the event of a master failure, if quorum nodes remain, those nodes hold an election. + The nodes will elect master the node with the most recent transaction. If two or more nodes + have the most recent transaction the group makes an arbitrary choice. If quorum number of + nodes does not remain, the nodes cannot elect a new master and will wait until nodes rejoin. + You will see later that manual controls are available allow service to be restored from + fewer than quorum nodes and to influence which node gets elected in the event of a + tie.</p><p>Whenever a group has fewer than quorum nodes present, the virtualhost will be + unavailable and messaging connections will be refused. If quorum disappears at the very + moment a messaging client sends a transaction that transaction will fail.</p><p>You will have noticed the difference in the synchronization policies applied the master + and the replicas. The replicas send the acknowledgement back before the data is written to + disk. The master synchronously writes the transaction to storage. This is an example of a + trade off between durability and performance. We will see more about how to control this + trade off later.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-Behaviour-SynchronizationPolicy"></a>10.4.2. Synchronization Policy</h3></div></div></div><p>The <span class="emphasis"><em>synchronization policy</em></span> dictates what a node must do when it + receives a transaction before it acknowledges that transaction to the rest of the + group.</p><p>The following options are available: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>SYNC</em></span>. The node must write the transaction to disk and flush + any OS level buffers before sending the acknowledgement. SYNC is offers the highest + durability but offers the least performance.</p></li><li class="listitem"><p><span class="emphasis"><em>WRITE_NO_SYNC</em></span>. The node must write the transaction to disk + before sending the acknowledgement. OS level buffers will be flush as some point + later. This typically provides an assurance against failure of the application but not + the operating system or hardware.</p></li><li class="listitem"><p><span class="emphasis"><em>NO_SYNC</em></span>. The node immediately sends the acknowledgement. The + transaction will be written and OS level buffers flushed as some point later. NO_SYNC + offers the highest performance but the lowest durability level. This synchronization + policy is sometimes known as <span class="emphasis"><em>commit to the network</em></span>.</p></li></ul></div><p>It is possible to assign a one policy to the master and a different policy to the + replicas. These are configured as <a class="link" href="Java-Broker-Management-Managing-Virtualhosts.html#Java-Broker-Management-Managing-Virtualhost-Attributes" title="7.5.3. Attributes">attributes on the + virtualhost</a>. By default the master uses <span class="emphasis"><em>SYNC</em></span> and replicas use + <span class="emphasis"><em>NO_SYNC</em></span>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-Behaviour-NodePriority"></a>10.4.3. Node Priority</h3></div></div></div><p>Node priority can be used to influence the behaviour of the election algorithm. It is + useful in the case were you want to favour some nodes over others. For instance, if you wish + to favour nodes located in a particular data centre over those in a remote site. </p><p>The following options are available: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Highest</em></span>. Nodes with this priority will be more favoured. In + the event of two or more nodes having the most recent transaction, the node with this + priority will be elected master. If two or more nodes have this priority the algorithm + will make an arbitrary choice.</p></li><li class="listitem"><p><span class="emphasis"><em>High</em></span>. Nodes with this priority will be favoured but not as + much so as those with Highest.</p></li><li class="listitem"><p><span class="emphasis"><em>Normal</em></span>. This is default election priority.</p></li><li class="listitem"><p><span class="emphasis"><em>Never</em></span>. The node will never be elected <span class="emphasis"><em>even if the + node has the most recent transaction</em></span>. The node will still keep up to date + with the replication stream and will still vote itself, but can just never be + elected.</p></li></ul></div><p> + </p><p>Node priority is configured as an <a class="link" href="Java-Broker-Management-Managing-Virtualhost-Nodes.html#Java-Broker-Management-Managing-Virtualhost-Nodes-Attributes" title="7.4.2. Attributes">attribute on the + virtualhost node</a> and can be changed at runtime and is effective immediately.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>Use of the Never priority can lead to transaction loss. For example, consider a group + of three where replica-2 is marked as Never. If a transaction were to arrive and it be + acknowledged only by Master and Replica-2, the transaction would succeed. Replica 1 is + running behind for some reason (perhaps a full-GC). If a Master failure were to occur at + that moment, the replicas would elect Replica-1 even though Replica-2 had the most recent + transaction.</p><p>Transaction loss is reported by message <a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-HA-1014">HA-1014</a>.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-Behaviour-MinimumNumberOfNodes"></a>10.4.4. Required Minimum Number Of Nodes</h3></div></div></div><p>This controls the required minimum number of nodes to complete a transaction and to + elect a new master. By default, the required number of nodes is set to + <span class="emphasis"><em>Default</em></span> (which signifies quorum).</p><p>It is possible to reduce the required minimum number of nodes. The rationale for doing + this is normally to temporarily restore service from fewer than quorum nodes following an + extraordinary failure.</p><p>For example, consider a group of three. If one node were to fail, as quorum still + remained, the system would continue work without any intervention. If the failing node were + the master, a new master would be elected.</p><p>What if a further node were to fail? Quorum no longer remains, and the remaining node + would just wait. It cannot elect itself master. What if we wanted to restore service from + just this one node?</p><p>In this case, Required Number of Nodes can be reduced to 1 on the remain node, allowing + the node to elect itself and service to be restored from the singleton. Required minimum + number of nodes is configured as an <a class="link" href="Java-Broker-Management-Managing-Virtualhost-Nodes.html#Java-Broker-Management-Managing-Virtualhost-Nodes-Attributes" title="7.4.2. Attributes">attribute on the + virtualhost node</a> and can be changed at runtime and is effective immediately.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>The attribute must be used cautiously. Careless use will lead to lost transactions and + can lead to a <a class="link" href="http://en.wikipedia.org/wiki/Split-brain_(computing)" target="_top">split-brain</a> in the event of a network partition. If used to temporarily restore + service from fewer than quorum nodes, it is <span class="emphasis"><em>imperative</em></span> to revert it + to the Default value as the failed nodes are restored.</p><p>Transaction loss is reported by message <a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-HA-1014">HA-1014</a>.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-Behaviour-DesignatedPrimary"></a>10.4.5. Allow to Operate Solo</h3></div></div></div><p>This attribute only applies to groups containing exactly two nodes.</p><p> In a group of two, if a node were to fail then in default configuration work will cease + as quorum no longer exists. A single node cannot elect itself master. </p><p>The <code class="literal">allow to operate solo</code> flag allows a node in a two node group to elect itself master and + to operate sole. It is configured as an <a class="link" href="Java-Broker-Management-Managing-Virtualhost-Nodes.html#Java-Broker-Management-Managing-Virtualhost-Nodes-Attributes" title="7.4.2. Attributes">attribute on the + virtualhost node</a> and can be changed at runtime and is effective immediately.</p><p>For example, consider a group of two where the master fails. Service will be interrupted + as the remaining node cannot elect itself master. To allow it to become master, apply the + <code class="literal">allow to operate solo</code> flag to it. It will elect itself master and work can continue, albeit + from one node.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>It is imperative not to allow the <code class="literal">allow to operate solo</code> flag to be set on both nodes at once. To + do so will mean, in the event of a network partition, a <a class="link" href="http://en.wikipedia.org/wiki/Split-brain_(computing)" target="_top">split-brain</a> will + occur.</p><p>Transaction loss is reported by message <a class="link" href="Java-Broker-Appendix-Operation-Logging.html#Java-Broker-Appendix-Operation-Logging-Message-HA-1014">HA-1014</a>.</p></div></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-High-Availability-CreatingGroup.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-High-Availability-NodeOperations.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">10.3. Creating a group </td><td align="center" width="20%"><a accesskey="h" href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 10.5. Node Operations</td></tr></table></div></div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-ClientFailover.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-ClientFailover.html.in b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-ClientFailover.html.in new file mode 100644 index 0000000..c6b04e2 --- /dev/null +++ b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-ClientFailover.html.in @@ -0,0 +1,5 @@ +<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">10.6. Client failover</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-High-Availability-NodeOperations.html">Prev</a> </td><th align="center" width="60%">Chapter 10. High Availability</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-High-Availability-DiskSpace.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-High-Availability-ClientFailover"></a>10.6. Client failover</h2></div></div></div><p>As mentioned above, the clients need to be able to find the location of the active + virtualhost within the group.</p><p>Clients can do this using a static technique, for example , utilising the <a class="link" href="../../jms-client-0-8/book/JMS-Client-0-8-Connection-URL.html" target="_top">failover feature of the Qpid connection url</a> + where the client has a list of all the nodes, and tries each node in sequence until it + discovers the node with the active virtualhost.</p><p>Another possibility is a dynamic technique utilising a proxy or Virtual IP (VIP). These + require other software and/or hardware and are outside the scope of this document.</p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-High-Availability-NodeOperations.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-High-Availability-DiskSpace.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">10.5. Node Operations </td><td align="center" width="20%"><a accesskey="h" href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 10.7. Disk space requirements</td></tr></table></div></div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-CreatingGroup.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-CreatingGroup.html.in b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-CreatingGroup.html.in new file mode 100644 index 0000000..ea4b33d --- /dev/null +++ b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-CreatingGroup.html.in @@ -0,0 +1,39 @@ +<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">10.3. Creating a group</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-High-Availability-OverviewOfHA.html">Prev</a> </td><th align="center" width="60%">Chapter 10. High Availability</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-High-Availability-Behaviour.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-High-Availability-CreatingGroup"></a>10.3. Creating a group</h2></div></div></div><p>This section describes how to create a group. At a high level, creating a group involves + first creating the first node standalone, then creating subsequent nodes referencing the first + node so the nodes can introduce themselves and gradually the group is built up.</p><p>A group is created through either <a class="link" href="Java-Broker-Management-Channel-Web-Console.html" title="6.2. Web Management Console">Web Management</a> or the <a class="link" href="Java-Broker-Management-Channel-REST-API.html" title="6.3. REST API">REST API</a>. These instructions + presume you are using Web Management. To illustrate the example it builds the group + illustrated in figure <a class="xref" href="Java-Broker-High-Availability-OverviewOfHA.html#Java-Broker-High-Availability-OverviewOfHA-Figure" title="Figure 10.1. 3-node group deployed across three Brokers.">Figure 10.1, “3-node group deployed across three Brokers.”</a></p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Install a Broker on each machine that will be used to host the group. As messaging + clients will need to be able to connect to and authentication to all Brokers, it usually + makes sense to choose a common authentication mechanism e.g. Simple LDAP Authentication, + External with SSL client authentication or Kerberos.</p></li><li class="listitem"><p>Select one Broker instance to host the first node instance. This choice is an + arbitrary one. The node is special only whilst creating group. Once creation is + complete, all nodes will be considered equal.</p></li><li class="listitem"><p>Click the <code class="literal">Add</code> button on the Virtualhost Panel on the Broker + tab.</p><p> + </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>Give the Virtualhost node a unique name e.g. <code class="literal">weather1</code>. The + name must be unique within the group and unique to that Broker. It is best if the + node names are chosen from a different nomenclature than the machine names + themselves.</p></li><li class="listitem"><p>Choose <code class="literal">BDB_HA</code> and select <code class="literal">New group</code> + </p></li><li class="listitem"><p>Give the group a name e.g. <code class="literal">weather</code>. The group name must be + unique and will be the name also given to the virtualhost, so this is the name the + messaging clients will use in their connection url.</p></li><li class="listitem"><p>Give the address of this node. This is an address on this node's host that + will be used for replication purposes. The hostname <span class="emphasis"><em>must</em></span> be + resolvable by all the other nodes in the group. This is separate from the address + used by messaging clients to connect to the Broker. It is usually best to choose a + symbolic name, rather than an IP address.</p></li><li class="listitem"><p>Now add the node addresses of all the other nodes that will form the group. In + our example we are building a three node group so we give the node addresses of + <code class="literal">chaac:5000</code> and <code class="literal">indra:5000</code>.</p></li><li class="listitem"><p>Click Add to create the node. The virtualhost node will be created with the + virtualhost. As there is only one node at this stage, the role will be + master.</p></li></ol></div><p> + </p><div class="figure"><a id="d0e6823"></a><p class="title"><strong>Figure 10.2. Creating 1st node in a group</strong></p><div class="figure-contents"><div class="mediaobject"><img alt="Creating 1st node in a group" src="images/HA-Create-1.png" /></div></div></div><p><br class="figure-break" /> + </p></li><li class="listitem"><p>Now move to the second Broker to be the group. Click the <code class="literal">Add</code> + button on the Virtualhost Panel on the Broker tab of the second Broker.</p><p> + </p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>Give the Virtualhost node a unique name e.g. + <code class="literal">weather2</code>.</p></li><li class="listitem"><p>Choose <code class="literal">BDB_HA</code> and choose <code class="literal">Existing group</code> + </p></li><li class="listitem"><p>Give the details of the <span class="emphasis"><em>existing node</em></span>. Following our + example, specify <code class="literal">weather</code>, <code class="literal">weather1</code> and + <code class="literal">thor:5000</code></p></li><li class="listitem"><p>Give the address of this node.</p></li><li class="listitem"><p>Click Add to create the node. The node will use the existing details to + contact it and introduce itself into the group. At this stage, the group will have + two nodes, with the second node in the replica role.</p></li><li class="listitem"><p>Repeat these steps until you have added all the nodes to the group.</p></li></ol></div><p> + </p><div class="figure"><a id="d0e6881"></a><p class="title"><strong>Figure 10.3. Adding subsequent nodes to the group</strong></p><div class="figure-contents"><div class="mediaobject"><img alt="Adding subsequent nodes to the group" src="images/HA-Create-2.png" /></div></div></div><p><br class="figure-break" /> + </p></li></ol></div><p>The group is now formed and is ready for us. Looking at the virtualhost node of any of the + nodes shows a complete view of the whole group. </p><div class="figure"><a id="d0e6893"></a><p class="title"><strong>Figure 10.4. View of group from one node</strong></p><div class="figure-contents"><div class="mediaobject"><img alt="View of group from one node" src="images/HA-Create-3.png" /></div></div></div><p><br class="figure-break" /></p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-High-Availability-OverviewOfHA.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-High-Availability-Behaviour.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">10.2. High Availability Overview </td><td align="center" width="20%"><a accesskey="h" href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td a lign="right" valign="top" width="40%"> 10.4. Behaviour of the Group</td></tr></table></div></div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-DiskSpace.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-DiskSpace.html.in b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-DiskSpace.html.in new file mode 100644 index 0000000..ab52d86 --- /dev/null +++ b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-DiskSpace.html.in @@ -0,0 +1,4 @@ +<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">10.7. Disk space requirements</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-High-Availability-ClientFailover.html">Prev</a> </td><th align="center" width="60%">Chapter 10. High Availability</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-High-Availability-Network-Requirements.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-High-Availability-DiskSpace"></a>10.7. Disk space requirements</h2></div></div></div><p>In the case where node in a group are down, the master must keep the data they are missing + for them to allow them to return to the replica role quickly.</p><p>By default, the master will retain up to 1hour of missed transactions. In a busy + production system, the disk space occupied could be considerable.</p><p>This setting is controlled by virtualhost context variable + <code class="literal">je.rep.repStreamTimeout</code>.</p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-High-Availability-ClientFailover.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-High-Availability-Network-Requirements.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">10.6. Client failover </td><td align="center" width="20%"><a accesskey="h" href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 10.8. Network Requirements</td></tr></table></div></div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Network-Requirements.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Network-Requirements.html.in b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Network-Requirements.html.in new file mode 100644 index 0000000..78108b3 --- /dev/null +++ b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Network-Requirements.html.in @@ -0,0 +1,5 @@ +<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">10.8. Network Requirements</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-High-Availability-DiskSpace.html">Prev</a> </td><th align="center" width="60%">Chapter 10. High Availability</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-High-Availability-Security.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-High-Availability-Network-Requirements"></a>10.8. Network Requirements</h2></div></div></div><p>The HA Cluster performance depends on the network bandwidth, its use by existing traffic, + and quality of service.</p><p>In order to achieve the best performance it is recommended to use a separate network + infrastructure for the Qpid HA Nodes which might include installation of dedicated network + hardware on Broker hosts, assigning a higher priority to replication ports, installing a group + in a separate network not impacted by any other traffic.</p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-High-Availability-DiskSpace.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-High-Availability-Security.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">10.7. Disk space requirements </td><td align="center" width="20%"><a accesskey="h" href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 10.9. Security</td></tr></table></div></div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-NodeOperations.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-NodeOperations.html.in b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-NodeOperations.html.in new file mode 100644 index 0000000..1e61993 --- /dev/null +++ b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-NodeOperations.html.in @@ -0,0 +1,21 @@ +<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">10.5. Node Operations</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-High-Availability-Behaviour.html">Prev</a> </td><th align="center" width="60%">Chapter 10. High Availability</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-High-Availability-ClientFailover.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-High-Availability-NodeOperations"></a>10.5. Node Operations</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-NodeOperations-Lifecycle"></a>10.5.1. Lifecycle</h3></div></div></div><p>Virtualhost nodes can be stopped, started and deleted.</p><div class="itemizedlist"><ul class="itemizedli st" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Stop</em></span></p><p>Stopping a master node will cause the node to temporarily leave the group. Any + messaging clients will be disconnected and any in-flight transaction rollbacked. The + remaining nodes will elect a new master if quorum number of nodes still remains.</p><p>Stopping a replica node will cause the node to temporarily leave the group too. + Providing quorum still exists, the current master will continue without interruption. If + by leaving the group, quorum no longer exists, all the nodes will begin waiting, + disconnecting any messaging clients, and the virtualhost will become unavailable.</p><p>A stopped virtualhost node is still considered to be a member of the group.</p></li><li class="listitem"><p><span class="emphasis"><em>Start</em></span></p><p>Starting a virtualhost node allows it to rejoin the group.</p><p>If the group already has a master, the node will catch up from the master and then + become a replica once it has done so.</p><p>If the group did not have quorum and so had no master, but the rejoining of this + node means quorum now exists, an election will take place. The node with the most up to + date transaction will become master unless influenced by the priority rules described + above.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The length of time taken to catch up will depend on how long the node has been + stopped. The worst case is where the node has been stopped for more than one hour. In + this case, the master will perform an automated <code class="literal">network restore</code>. + This involves streaming all the data held by the master over to the replica. This + could take considerable time.</p></div></li><li class="listitem"><p><span class="emphasis"><em>Delete</em></span></p><p>A virtualhost node can be deleted. Deleting a node permanently removes the node from + the group. The data stored locally is removed but this does not affect the data held by + the remainder of the group.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The names of deleted virtualhost node cannot be reused within a group.</p></div></li></ul></div><p>It is also possible to add nodes to an existing group using the procedure described + above.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-High-Availability-NodeOperations-TransferMaster"></a>10.5.2. Transfer Master</h3></div></div></div><p>This operation allows the mastership to be moved from node to node. This is useful for + restoring a business as usual state after a failure.</p><p>When using this function, the following occurs. </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>The system first gives time for the chosen new master to become reasonable up to + date. </p></li><li class="listitem"><p>It then suspends transactions on the old master and allows the chosen node to + become up to date.</p></li><li class="listitem"><p>The suspended transactions are aborted and any messaging clients connected to the + old master are disconnected.</p></li><li class="listitem"><p>The chosen master becomes the new master. The old master becomes a replica.</p></li><li class="listitem"><p>Messaging clients reconnect the new master.</p></li></ol></div></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-High-Availability-Behaviour.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-High-Availability-ClientFailover.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">10.4. Behaviour of the Group </td><td align="center" width="20%"><a accesskey="h" href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 10.6. Client failover</td></tr></table></div></div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-OverviewOfHA.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-OverviewOfHA.html.in b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-OverviewOfHA.html.in new file mode 100644 index 0000000..893d5d6 --- /dev/null +++ b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-OverviewOfHA.html.in @@ -0,0 +1,26 @@ +<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">10.2. High Availability Overview</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-High-Availability.html">Prev</a> </td><th align="center" width="60%">Chapter 10. High Availability</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-High-Availability-CreatingGroup.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-High-Availability-OverviewOfHA"></a>10.2. High Availability Overview</h2></div></div></div><p>The Broker provides a HA implementation offering an <span class="bold"><strong>Active/Passive</strong></span> mode of operation. + When using HA, many instances of the Broker work together to form an high availability group of two or more nodes.</p><p>The remainder of this section now talks about the specifics of how HA is achieved in terms + of the <a class="link" href="Java-Broker-Concepts.html" title="Chapter 4. Concepts">concepts</a> introduced earlier in this + book.</p><p>The <a class="link" href="Java-Broker-Concepts-Virtualhosts.html" title="4.5. Virtualhosts">Virtualhost</a> is the unit of + replication. This means that any <span class="emphasis"><em>durable</em></span> queues, exchanges, and bindings + belonging to that virtualhost, any <span class="emphasis"><em>persistent</em></span> messages contained within + the queues and any attribute settings applied to the virtualhost itself are automatically + replicated to all nodes within the group.<a class="footnote" href="#ftn.d0e6707" id="d0e6707"><sup class="footnote">[14]</sup></a></p><p>It is the <a class="link" href="Java-Broker-Concepts-Virtualhost-Nodes.html" title="4.3. Virtualhost Nodes">Virtualhost Nodes</a> + (from different Broker instances) that join together to form a group. The virtualhost nodes + collectively to coordinate the group: they organise replication between the master and + replicas and conduct elections to determine who becomes the new master in the event of the old + failing.</p><p>When a virtualhost node is in the <span class="emphasis"><em>master</em></span> role, the virtualhost + beneath it is available for messaging work. Any write operations sent to the virtualhost are + automatically replicated to all other nodes in group.</p><p>When a virtualhost node is in the <span class="emphasis"><em>replica</em></span> role, the virtualhost + beneath it is always unavailable for message work. Any attempted connections to a virtualhost + in this state are automatically turned away, allowing a messaging client to discover where the + master currently resides. When in replica role, the node sole responsibility is to consume a + replication stream in order that it remains up to date with the master.</p><p>Messaging clients discover the active virtualhost.This can be achieved using a static + technique (for instance, a failover url (a feature of a Apache Qpid JMS Client for AMQP 0-9-1/0-10)), or a dynamic one + utilising some kind of proxy or virtual IP (VIP).</p><p>The figure that follows illustrates a group formed of three virtualhost nodes from three + separate Broker instances. A client is connected to the virtualhost node that is in the master + role. The two virtualhost nodes <code class="literal">weather1</code> and <code class="literal">weather3</code> + are replicas and are receiving a stream of updates.</p><div class="figure"><a id="Java-Broker-High-Availability-OverviewOfHA-Figure"></a><p class="title"><strong>Figure 10.1. 3-node group deployed across three Brokers.</strong></p><div class="figure-contents"><div class="mediaobject"><img alt="Diagram showing a 3 node group deployed across three Brokers" src="images/HA-Overview.png" /></div></div></div><br class="figure-break" /><p>Currently, the only virtualhost/virtualhost node type offering HA is BDB HA. Internally, + this leverages the HA capabilities of the Berkeley DB JE edition. BDB JE is an <a class="link" href="Java-Broker-Miscellaneous-Installing-Oracle-BDB-JE.html" title="E.3. Installing Oracle BDB JE">optional dependency</a> of + the Broker.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The HA solution from the Apache Qpid Broker for Java is incompatible with the HA solution offered by the CPP + Broker. It is not possible to co-locate Broker for Java and CPP Brokers within the same group.</p></div><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div class="footnote" id="ftn.d0e6707"><p><a class="para" href="#d0e6707"><sup class="para">[14] </sup></a>Transient messages and messages on non-durable queues are not replicated.</p></div></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-High-Availability.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-High-Availability-CreatingGroup.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Chapter 10. High Availability </td><td align="center" width="20%"><a accesskey="h" href="AMQP-Messaging-Broker-Java-Book. html">Home</a></td><td align="right" valign="top" width="40%"> 10.3. Creating a group</td></tr></table></div></div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Reset-Group-Infomational.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Reset-Group-Infomational.html.in b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Reset-Group-Infomational.html.in new file mode 100644 index 0000000..21fb7a5 --- /dev/null +++ b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Reset-Group-Infomational.html.in @@ -0,0 +1,8 @@ +<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">10.11. Reset Group Information</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-High-Availability-Backup.html">Prev</a> </td><th align="center" width="60%">Chapter 10. High Availability</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-Backup-And-Recovery.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-High-Availability-Reset-Group-Infomational"></a>10.11. Reset Group Information</h2></div></div></div><p>BDB JE internally stores details of the group within its database. There are some + circumstances when resetting this information is useful.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Copying data between environments (e.g. production to UAT)</p></li><li class="listitem"><p>Some disaster recovery situations where a group must be recreated on new + hardware</p></li></ul></div><p>This is not an normal operation and is not usually required</p><p>The following command replaces the group table contained within the JE logs files with the + provided information. </p><div class="example"><a id="d0e7226"></a><p class="title"><strong>Example 10.1. Resetting of replication group with <code class="classname">DbResetRepGroup</code></strong></p><div class="example-contents"><div class="cmdsynopsis"><p><code class="command">java</code> -cp je-5.0.104.jar com.sleepycat.je.rep.util.DbResetRepGroup -h <em class="replaceable"><code>path/to/jelogfiles</code></em> <br /> -groupName <em class="replaceable"><code>newgroupname</code></em> -nodeName <em class="replaceable"><code>newnodename</code></em> -nodeHostPort <em class="replaceable"><code>newhostname:5000</code></em> </p></div></div></div><br class="example-break" /><p>The modified log files can then by copied into + <code class="literal">${QPID_WORK}/<nodename>/config</code> directory of a target Broker. Then + start the Broker, and add a BDB HA Virtualhost node specify the same group name, node name and + node address. You will then have a group with a single node, ready to start re-adding + additional nodes as described above. </p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-High-Availability-Backup.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-Backup-And-Recovery.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">10.10. Backups </td><td align="center" width="20%"><a accesskey="h" href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" valign="top" width="40%"> Chapter 11. Backup And Recovery</td></tr></table></div></div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Security.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Security.html.in b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Security.html.in new file mode 100644 index 0000000..32ba052 --- /dev/null +++ b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability-Security.html.in @@ -0,0 +1,3 @@ +<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">10.9. Security</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-High-Availability-Network-Requirements.html">Prev</a> </td><th align="center" width="60%">Chapter 10. High Availability</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-High-Availability-Backup.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-High-Availability-Security"></a>10.9. Security</h2></div></div></div><p>The replication stream between the master and the replicas is insecure and can be + intercepted by anyone having access to the replication network.</p><p>In order to reduce the security risks the entire HA group is recommended to run in a + separate network protected from general access and/or utilise SSH-tunnels/IPsec.</p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-High-Availability-Network-Requirements.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-High-Availability.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-High-Availability-Backup.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">10.8. Network Requirements </td><td align="center" width="20%"><a accesskey="h" href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 10.10. Backups</td></tr></table></div></div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability.html.in b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability.html.in new file mode 100644 index 0000000..bb8e6fd --- /dev/null +++ b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-High-Availability.html.in @@ -0,0 +1,10 @@ +<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter 10. High Availability</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Runtime-Memory.html">Prev</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-High-Availability-OverviewOfHA.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="Java-Broker-High-Availability"></a>Chapter 10. High Availability</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="Java-Broker-High-Availability.html#Java-Broker-High-Availability-GeneralIntroduction">10.1. General Introduction</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-OverviewOfHA.html">10.2. High Availability Over view</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-CreatingGroup.html">10.3. Creating a group</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-Behaviour.html">10.4. Behaviour of the Group</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-High-Availability-Behaviour.html#Java-Broker-High-Availability-Behaviour-Default-Behaviour">10.4.1. Default Behaviour</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-Behaviour.html#Java-Broker-High-Availability-Behaviour-SynchronizationPolicy">10.4.2. Synchronization Policy</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-Behaviour.html#Java-Broker-High-Availability-Behaviour-NodePriority">10.4.3. Node Priority</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-Behaviour.html#Java-Broker-High-Availability-Behaviour-MinimumNumberOfNodes">10.4.4. Required Minimum Number Of Node s</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-Behaviour.html#Java-Broker-High-Availability-Behaviour-DesignatedPrimary">10.4.5. Allow to Operate Solo</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-High-Availability-NodeOperations.html">10.5. Node Operations</a></span></dt><dd><dl><dt><span class="section"><a href="Java-Broker-High-Availability-NodeOperations.html#Java-Broker-High-Availability-NodeOperations-Lifecycle">10.5.1. Lifecycle</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-NodeOperations.html#Java-Broker-High-Availability-NodeOperations-TransferMaster">10.5.2. Transfer Master</a></span></dt></dl></dd><dt><span class="section"><a href="Java-Broker-High-Availability-ClientFailover.html">10.6. Client failover</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-DiskSpace.html">10.7. Disk space requirements</a></span></dt><dt><span class="section"><a href="Ja va-Broker-High-Availability-Network-Requirements.html">10.8. Network Requirements</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-Security.html">10.9. Security</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-Backup.html">10.10. Backups</a></span></dt><dt><span class="section"><a href="Java-Broker-High-Availability-Reset-Group-Infomational.html">10.11. Reset Group Information</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-High-Availability-GeneralIntroduction"></a>10.1. General Introduction</h2></div></div></div><p>The term High Availability (HA) usually refers to having a number of instances of a + service such as a Message Broker available so that should a service unexpectedly fail, or + requires to be shutdown for maintenance, users may quickly connect to another instance and + continue their work with minimal interruption. HA is one way to make a overall system more + resilient by eliminating a single point of failure from a system.</p><p>HA offerings are usually categorised as <span class="bold"><strong>Active/Active</strong></span> or + <span class="bold"><strong>Active/Passive</strong></span>. An Active/Active system is one where all + nodes within the group are usually available for use by clients all of the time. In an + Active/Passive system, one only node within the group is available for use by clients at any + one time, whilst the others are in some kind of standby state, awaiting to quickly step-in in + the event the active node becomes unavailable. </p></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Runtime-Memory.html">Prev</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-High-Availability-OverviewOfHA.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">9.11. Memory </td><td align="center" width="20%"><a accesskey="h" href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 10.2. High Availability Overview</td></tr></table></div></div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Initial-Configuration-Configuration-Properties.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Initial-Configuration-Configuration-Properties.html.in b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Initial-Configuration-Configuration-Properties.html.in new file mode 100644 index 0000000..81525b3 --- /dev/null +++ b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Initial-Configuration-Configuration-Properties.html.in @@ -0,0 +1,24 @@ +<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">5.6. Customising Configuration using Configuration Properties</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Initial-Configuration-Type.html">Prev</a> </td><th align="center" width="60%">Chapter 5. Initial Configuration</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-Initial-Configuration-Example.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Initial-Configuration-Configuration-Properties"></a>5.6. Customising Configuration using Configuration Properties</h2></div></div></div><p> It is possible for 'Initial Configuration' (and Configuration Store) files to contain + ${properties} that can be resolved to String values at startup, allowing a degree of + customisation using a fixed file. Configuration Property values can be set either via + Java System Properties, or by specifying ConfigurationProperties on the broker command + line. If both are defined, System Property values take precedence. </p><p> The broker has the following set of core configuration properties, with the indicated + default values if not otherwise configured by the user: </p><div class="table"><a id="d0e1665"></a><p class="title"><strong>Table 5.1. Base Configuration Properties</strong></p><div class="table-contents"><table border="1" summary="Base Configuration Properties"><colgroup><col /><col /><col /></colgroup><thead><tr><th> Name </th><th> Description </th><th> Value </th></tr></thead><tbody><tr><td> qpid.amqp_port </td><td> Port number used for the brokers default AMQP messaging port </td><td> "5672" </td></tr><tr><td> qpid.http_port </td><td> Port number used for the brokers default HTTP management port </td><td> "8080" </td></tr><tr><td> qpid.home_dir </td><td> Location of the broker installation directory, which contains + the 'lib' directory and the 'etc' directory often used to store + files such as group and ACL files. </td><td> Defaults to the value set into the QPID_HOME system property if + it is set, or remains unset otherwise unless configured by the user. + </td></tr><tr><td> qpid.work_dir </td><td> Location of the broker working directory, which might contain + the persistent message store and broker configuration store files. </td><td> Defaults to the value set into the QPID_WORK system property if + it is set, or the 'work' subdirectory of the JVMs current working + directory. </td></tr></tbody></table></div></div><p><br class="table-break" /> + </p><p> Use of these core properties can be seen in the <a class="link" href="Java-Broker-Initial-Configuration-Example.html" title="5.7. Example of JSON 'Initial Configuration'">default 'Initial Configuration' example</a>. </p><p> Configuration Properties can be set on the command line using the + <span class="emphasis"><em>-prop</em></span> (or <span class="emphasis"><em>--configuration-property</em></span>) + command line argument: </p><pre class="screen"> +$ ./qpid-server -prop "qpid.amqp_port=10000" -prop "qpid.http_port=10001" + </pre><p> In the example above, property used to set the port number of the default AMQP port + is specified with the value 10000, overriding the default value of 5672, and similarly + the value 10001 is used to override the default HTTP port number of 8080. When using the + 'Initial Configuration' to initialise a new Configuration Store (either at first broker + startup, when requesting to <a class="link" href="Java-Broker-Initial-Configuration-Location.html" title="5.2. Configuration Store Location">overwrite the configuration store</a>) these new values will be used for the + port numbers instead. </p><p> NOTE: When running the broker on Windows and starting it via the qpid-server.bat + file, the "name=value" argument MUST be quoted. </p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Initial-Configuration-Type.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-Initial-Configuration.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-Initial-Configuration-Example.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">5.5. Configuration Store Type </td><td align="center" width="20%"><a accesskey="h" href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 5.7. Example of JSON 'Initial Configuration'</td></tr></table></div></div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-site/blob/32dce6b5/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Initial-Configuration-Create-Initial-Config.html.in ---------------------------------------------------------------------- diff --git a/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Initial-Configuration-Create-Initial-Config.html.in b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Initial-Configuration-Create-Initial-Config.html.in new file mode 100644 index 0000000..6e62874 --- /dev/null +++ b/input/releases/qpid-broker-j-master/java-broker/book/Java-Broker-Initial-Configuration-Create-Initial-Config.html.in @@ -0,0 +1,16 @@ +<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">5.4. Creating an 'Initial Configuration' JSON File</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="Java-Broker-Initial-Configuration-Initial-Config-Location.html">Prev</a> </td><th align="center" width="60%">Chapter 5. Initial Configuration</th><td align="right" width="20%"> <a accesskey="n" href="Java-Broker-Initial-Configuration-Type.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Initial-Configuration-Create-Initial-Config"></a>5.4. Creating an 'Initial Configuration' JSON File</h2></div></div></div><p> It is possible to have the broker output its default internal 'Initial Configuration' + file to disk using the command line argument <span class="emphasis"><em>-cic</em></span> (or + <span class="emphasis"><em>--create-initial-config</em></span>). If the option is used without + providing a path, a file called <span class="emphasis"><em>initial-config.json</em></span> will be created + in the current directory, or alternatively the file can be created at a specified + location: </p><pre class="screen"> +$ ./qpid-server -cic ./initial-config.json + </pre><p> The 'Initial Configuration' JSON file shares a common format with the brokers JSON + Configuration Store implementation, so it is possible to use a Broker's Configuration + Store output as an initial configuration. Typically 'Initial Configuration' files would + not to contain IDs for the configured entities, so that IDs will be generated when the + configuration store is initialised and prevent use of the same IDs across multiple + brokers, however it may prove useful to include IDs if using the Memory <a class="link" href="Java-Broker-Initial-Configuration-Type.html" title="5.5. Configuration Store Type">Configuration Store Type</a>. </p><p> It can be useful to use <a class="link" href="Java-Broker-Initial-Configuration-Configuration-Properties.html" title="5.6. Customising Configuration using Configuration Properties">Configuration + Properties</a> within 'Initial Configuration' files to allow a degree of + customisation with an otherwise fixed file. </p><p> For an example file, see <a class="xref" href="Java-Broker-Initial-Configuration-Example.html" title="5.7. Example of JSON 'Initial Configuration'">Section 5.7, “Example of JSON 'Initial Configuration'”</a> + </p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="Java-Broker-Initial-Configuration-Initial-Config-Location.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="Java-Broker-Initial-Configuration.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="Java-Broker-Initial-Configuration-Type.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">5.3. 'Initial Configuration' Location </td><td align="center" width="20%"><a accesskey="h" href="AMQP-Messaging-Broker-Java-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 5.5. Configuration Store Type</td></tr></table></div></div> \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org