blob: 4c8d168fbb212f41e0a3909b8f12a81ac50bf820 [file] [log] [blame]
<?xml version="1.0"?>
<!--
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
regarding copyright ownership. The ASF licenses this file
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.
-->
<chapter xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="Java-Broker-Installation">
<title>Installation</title>
<section role="h2" xml:id="Java-Broker-Installation-Introduction">
<title>Introduction</title>
<para>This document describes how to install the Apache Qpid Broker for Java on both Windows and UNIX
platforms.</para>
</section>
<section role="h2" xml:id="Java-Broker-Installation-Prerequistes">
<title>Prerequisites</title>
<section role="h3" xml:id="Java-Broker-Installation-Prerequistes-Java">
<title>Java Platform</title>
<para> The Apache Qpid Broker for Java is an 100% Java implementation and as such it can be used on any
operating system supporting Java 1.7 or higher<footnote><para>Java Cryptography Extension (JCE)
Unlimited Strength policy file are required for some features</para></footnote>. This includes Linux, Solaris, Mac OS X, and
Windows XP/Vista/7/8.</para>
<para> The broker has been tested with Java implementations from both Oracle and IBM. Whatever
platform you chose, it is recommended that you ensure it is patched with any critical
updates made available from the vendor. </para>
<para> Verify that your JVM is installed properly by following <link linkend="Java-Broker-Miscellaneous-JVM-Verification">these instructions.</link>
</para>
</section>
<section role="h3" xml:id="Java-Broker-Installation-Prerequistes-Disk">
<title>Disk</title>
<para>The Broker installation requires approximately 20MB of free disk space.</para>
<para>The Broker also requires a working directory. The working directory is used for the
message store, that is, the area of the file-system used to record messages
whilst they are passing through the Broker. The working directory is also used for the
default location of the log file. The size of the working directory will depend on the how
the Broker is used.</para>
<para>The performance of the file system hosting the work directory is key to the performance
of Broker as a whole. For best performance, choose a device that has low latency and one
that is uncontended by other applications.</para>
<para>Be aware that there are additional considerations if you are considering hosting the
working directory on NFS.</para>
</section>
<section role="h3" xml:id="Java-Broker-Installation-Prerequistes-Memory">
<title>Memory</title>
<para>Qpid caches messages in memory for performance reasons, so in general, the Broker will
benefit from as much memory as possible. However, on a 32bit JVM, the maximum addressable
memory range for a process is 4GB, after leaving space for the JVM's own use this will give
a maximum usable size of approximately ~3.7GB.</para>
<para>See <xref linkend="Java-Broker-Runtime-Memory"/> for a full description of how memory is
used.</para>
</section>
<section role="h3" xml:id="Java-Broker-Installation-Prerequistes-OperatingSystemAccount">
<title>Operating System Account</title>
<para>Installation or operation of Qpid does <emphasis>not</emphasis> require a privileged
account (i.e. root on UNIX platforms or Administrator on Windows). However it is suggested
that you use an dedicated account (e.g. qpid) for the installation and operation of the Broker.</para>
</section>
</section>
<section role="h2" xml:id="Java-Broker-Installation-Download">
<title>Download</title>
<section role="h3" xml:id="Java-Broker-Installation-Download-Release">
<title>Broker Release</title>
<para>You can download the latest Broker package from the <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="${qpidDownloadUrl}">Download Page</link>. </para>
<para> It is recommended that you confirm the integrity of the download by verifying the PGP
signature matches that available on the site. Instructions are given on the download page.
</para>
</section>
</section>
<section role="h2" xml:id="Java-Broker-Installation-InstallationWindows">
<title>Installation on Windows</title>
<para> Firstly, verify that your JVM is installed properly by following <link linkend="Java-Broker-Miscellaneous-JVM-Verification-Windows">these instructions.</link>
</para>
<para>Now chose a directory for Qpid broker installation. This directory will be used for the
Qpid JARs and configuration files. It need not be the same location as the work directory used
for the persistent message store or the log file (you will choose this location later). For
the remainder this example we will assume that location c:\qpid has been chosen.</para>
<para>Next extract the qpid-broker-${project.version}-bin.zip package into the directory, using either
the zip file handling offered by Windows (right click the file and select 'Extract All') or a
third party tool of your choice.</para>
<para>The extraction of the broker package will have created a directory
qpid-broker\\${project.version} within c:\qpid</para>
<screen>
Directory of c:\qpid\qpid-broker\\${project.version}
25/11/2015 11:29 &lt;DIR&gt; .
25/11/2015 11:29 &lt;DIR&gt; ..
25/11/2015 10:56 &lt;DIR&gt; bin
03/07/2015 08:06 &lt;DIR&gt; etc
25/11/2015 11:25 &lt;DIR&gt; lib
25/11/2015 10:56 28,143 LICENSE
25/11/2015 10:56 3,409 NOTICE
29/04/2015 09:13 116 README.txt
3 File(s) 31,668 bytes
5 Dir(s) 25,981,767,680 bytes free
</screen>
<section role="h3" xml:id="Java-Broker-Installation-InstallationWindows-SettingQPIDWORK">
<title>Setting the working directory</title>
<para>Qpid requires a work directory. This directory is used for the default location of the
Qpid log file and is used for the storage of persistent messages. The work directory can be
set on the command-line (for the lifetime of the command interpreter), but you will normally
want to set the environment variable permanently via the Advanced System Settings in the
Control Panel.</para>
<screen>set QPID_WORK=C:\qpidwork</screen>
<para>If the directory referred to by <link linkend="Java-Broker-Appendix-Environment-Variables-Qpid-Work">QPID_WORK</link> does not
exist, the Broker will attempt to create it on start-up.</para>
</section>
</section>
<section role="h2" xml:id="Java-Broker-Installation-InstallationUnix">
<title>Installation on UNIX platforms</title>
<para> Firstly, verify that your JVM is installed properly by following <link linkend="Java-Broker-Miscellaneous-JVM-Verification-Unix">these instructions.</link>
</para>
<para>Now chose a directory for Qpid broker installation. This directory will be used for the
Qpid JARs and configuration files. It need not be the same location as the work directory used
for the persistent message store or the log file (you will choose this location later). For
the remainder this example we will assume that location /usr/local/qpid has been
chosen.</para>
<para>Next extract the qpid-broker-${project.version}-bin.tgz package into the directory.</para>
<programlisting>mkdir /usr/local/qpid
cd /usr/local/qpid
tar xvzf qpid-broker-${project.version}-bin.tgz</programlisting>
<para>The extraction of the broker package will have created a directory
qpid-broker/${project.version} within /usr/local/qpid</para>
<screen>ls -la qpid-broker/${project.version}/
total 56
drwxrwxr-x. 5 alex alex 4096 Nov 25 11:43 .
drwxrwxr-x. 3 alex alex 4096 Nov 25 11:43 ..
drwxr-xr-x. 2 alex alex 4096 Nov 24 23:38 bin
drwxr-xr-x. 2 alex alex 4096 Nov 24 23:38 etc
drwxrwxr-x. 2 alex alex 4096 Nov 25 11:43 lib
-rw-r--r--. 1 alex alex 28143 Nov 24 23:38 LICENSE
-rw-r--r--. 1 alex alex 3409 Nov 24 23:38 NOTICE
-rw-r--r--. 1 alex alex 116 Nov 24 23:38 README.txt
</screen>
<section role="h3" xml:id="Java-Broker-Installation-InstallationUnix-SettingQPIDWORK">
<title>Setting the working directory</title>
<para>Qpid requires a work directory. This directory is used for the default location of the
Qpid log file and is used for the storage of persistent messages. The work directory can be
set on the command-line (for the lifetime of the current shell), but you will normally want
to set the environment variable permanently the user's shell profile file (~/.bash_profile
for Bash etc).</para>
<screen>export QPID_WORK=/var/qpidwork
</screen>
<para>If the directory referred to by <link linkend="Java-Broker-Appendix-Environment-Variables-Qpid-Work">QPID_WORK</link> does not
exist, the Broker will attempt to create it on start-up. </para>
</section>
</section>
<section role="h2" xml:id="Java-Broker-Installation-OptionalDependencies">
<title>Optional Dependencies</title>
<para>If you wish to utilise storage options using Oracle BDB JE or an External Database, see
<xref linkend="Java-Broker-Miscellaneous-Installing-Oracle-BDB-JE"/> and <xref linkend="Java-Broker-Miscellaneous-Installing-External-JDBC-Driver"/> for details of
installing their dependencies.</para>
</section>
</chapter>