Installation Guide

Red Hat AMQ

Installing Red Hat AMQ

Red Hat

Version 6.3
23 Oct 2020

Abstract

It is easy to install Red Hat AMQ and tailor the installation to a particular environment.

Chapter 1. Installation Prerequisites

Abstract

Before attempting to install and use Red Hat AMQ, make sure your system meets the minimum requirements.

1.1. Supported Platforms

Red Hat tests and supports Fuse products in the configurations listed at Red Hat AMQ Supported Configurations.

1.2. Java Runtime

For details of the Java runtimes supported by Red Hat AMQ, see Red Hat AMQ Supported Configurations.

1.3. Supported Standards and Protocols

Red Hat AMQ supports the standards and protocols listed at Red Hat AMQ Supported Standards and Protocols.

1.4. Hardware requirements

The minimum hardware specifications to install Red Hat AMQ are:
  • 300 MB of free disk space
  • 2GB of RAM
In addition to the disk space required for the base installation, a running system will require space for caching, persistent message stores, and other functions.

Chapter 2. Installing

Abstract

Red Hat AMQ is installed by unpacking an archive system on a system. This provides an easy way for a developer to get up and running.

Getting the archive

You can download the Red Hat A-MQ archive from the Red Hat Customer Portal>Downloads>Red Hat JBoss Middleware>Downloads page, after you register and login to your customer account.
Once logged in:
  1. Select A-MQ, listed under Integration Platforms, in the sidebar menu.
  2. Select 6.3 from the Version drop-down list on the Software Downloads page.
  3. Click the Download button next to the Red Hat AMQ distribution file you want to download.
Note
Trial kits are also available from the developer Web site, at http://developers.redhat.com/downloads/. These kits are not supported by Red Hat.

Unpacking the archive

Red Hat AMQ is packaged as a .zip file. Using a suitable archive tool, such as Zip or Gunzip, unpack Red Hat AMQ into a directory to which you have full access.
Warning
Do not unpack the archive file into a folder that has spaces in its path name. For example, do not unpack into C:\Documents and Settings\Greco Roman\Desktop\amq.
Warning
Do not unpack the archive file into a folder that has any of the following special characters in its path name: #, %, ^, ".

Chapter 3. Adding a Remote Console User

Abstract

The server's remote command console is not configured with a default user. Before you can connect to the server's console remotely, you must add a user to the configuration.

3.1. Add a User

Red Hat AMQ is not installed with a default user for the remote console. Before you can remotely manage a server, you must add a user by editing InstallDir/etc/users.properties.
Important
The information in this file is unencrypted so it is not suitable for environments that require strict security.
To add a user:
  1. Open InstallDir/etc/users.properties in your favorite text editor.
  2. Locate the line #admin=admin,admin,manager,viewer,Operator, Maintainer, Deployer, Auditor, Administrator, SuperUser.
    This line specifies a user admin with the password admin and comma-separated list of roles.
  3. Uncomment the line by removing the leading #.
  4. Change the first admin to the desired user name.
  5. Change the second admin to the desired password.
  6. Leave the role list, admin,manager,viewer,Operator, Maintainer, Deployer, Auditor, Administrator, SuperUser, as is.
  7. Save the changes.

Chapter 4. Verifying the Installation

Abstract

Once the installer has completed running it is a good idea to run a simple test to ensure that Red Hat AMQ was properly installed.

4.1. Verify the Installation

AMQ ships with a simple client utility that can be used to verify that the software was successfully installed. You use it to create a message producer and a message consumer that connect to the broker. If they run successfully, and you see—by checking the Fuse Management Console—that the broker processed the messages, then you can be confident that AMQ was installed successfully.
To verify that AMQ is properly installed:
  1. Log in as the user with ownership permissions for the AMQ installation.
  2. Open a command shell at InstallDir.
  3. Start the broker using the start command.
    Windowsbin\start.bat
    Unix./bin/start
  4. Run the producer client with the following command:
    Linux/UNIX
    ./bin/client "activemq:producer --user Username --password Password"
    Windows
    .\bin\client.bat "activemq:producer --user Username --password Password"
    The producer will connect to the broker and produce 1000 messages. Example 4.1, “Test Producer Output” shows the producer's output.

    Example 4.1. Test Producer Output

    $ ./bin/client "activemq:producer --user Username --password Password"
    client: JAVA_HOME not set; results may vary
    Logging in as admin
    1073 [sshd-SshClient[6575deb1]-nio2-thread-3]
    WARN org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier -
    Server at [/0.0.0.0:8101, DSA, af:77:de:7f:c9:32:f0:b0:ed:12:0e:cd:56:35:fe:78] presented unverified {} key: {}
    $
    Note
    The producer command will only send messages to a broker with default port configuration. So, if you set up more than one AMQ instance on the same machine, the producer will only send messages to the instance that uses the default ports.
  5. To check that the messages have been enqueued, enter the following command:
    Linux/UNIX
    ./bin/client activemq:dstat
    Windows
    .\bin\client.bat activemq:dstat
  6. Run the consumer client with the following command:
    Linux/UNIX
    ./bin/client "activemq:consumer --user Username --password Password"
    Windows
    .\bin\client.bat "activemq:consumer --user Username --password Password"
    The consumer will connect to the broker and consume 1000 messages. Example 4.2, “Test Consumer Output” shows the consumer's output.

    Example 4.2. Test Consumer Output

    $ ./bin/client "activemq:consumer --user Username --password Password"
    client: JAVA_HOME not set; results may vary
    Logging in as admin
    235 [sshd-SshClient[1d6f6a81]-nio2-thread-1]
    WARN org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier -
    Server at [/0.0.0.0:8101, DSA, af:77:de:7f:c9:32:f0:b0:ed:12:0e:cd:56:35:fe:78] presented unverified {} key: {}
    $
  7. To check that the messages have been dequeued, enter the following command:
    Linux/UNIX
    ./bin/client activemq:dstat
    Windows
    .\bin\client.bat activemq:dstat

Chapter 5. Offline Mode

Abstract

You can run the AMQ container in offline mode (that is, without an Internet connection). But if you are planning to deploy custom applications to the container, it might be necessary to download additional dependencies (to a local Maven repository) before you can run the container in offline mode with these applications.

5.1. Supported Functionality

If you want to run the AMQ container in offline mode, it is necessary to distinguish between the following kinds of dependency:
  • Runtime dependencies—the dependencies required to run the AMQ container, in its default configuration.
  • Build-time dependencies—the dependencies required to build a custom application (which might include third-party libraries).
Here is a summary of what can be done in offline mode and what needs to be done in online mode (with an Internet connection):
  • Running the AMQ container in its default configuration—is supported in offline mode. The default configuration of the AMQ container is specified by the featuresBoot property in the etc/org.apache.karaf.features.cfg file. The requisite dependencies are all provided in the system/ sub-directory of the installation.
  • Installing additional features—is, in general, not supported in offline mode. In principle, you can use the features:install command to install any of the features from the standard feature repositories (as specified by the featuresRepositories property in the etc/org.apache.karaf.features.cfg file), but the majority of these features must be downloaded from the Internet and are thus not supported in offline mode.
  • Deploying custom applications—is, in general, not supported in offline mode. There may be some cases where an application with a minimal set of build-time dependencies is deployable offline, but in general, custom applications would have third-party dependencies that require an Internet connection (so that JAR files can be downloaded by Apache Maven).
If you do need to deploy an application with dependencies that are not available offline, you can use the Maven dependency plug-in to download the application's dependencies into a Maven offline repository. This customized Maven offline repository can then be distributed internally to any machines that do not have an Internet connection. For more details of this approach, see section "Offline Repository for a Maven Project" in "Fabric Guide".

Chapter 6. Installing the Messaging Client Packages

Abstract

Red Hat AMQ provides messaging clients as individual packages that you download from the Red Hat Customer Portal.

6.1. Installing Clients on Red Hat Enterprise Linux

Required subscriptions

In order to install the A-MQ client packages on Red Hat Enterprise Linux (RHEL), you require subscriptions to both of the following Red Hat products:
  • Red Hat AMQ 6.3
  • RHEL 5, 6, or 7

Qpid JMS AMQP 1.0 Java client

To install the Qpid JMS AMQP 1.0 Java client, enter the following command (as a superuser):
# yum install qpid-jms-client qpid-jms-client-docs qpid-jms-client-examples qpid-jms-client-maven-repo

Qpid C++ client

To install the Qpid C++ client, enter the following command (as a superuser):
# yum install qpid-cpp-client qpid-cpp-client-devel
Important
The Qpid C++ client packages are currently not available for the following platform (processor) combinations: RHEL 5 (i686) and RHEL 6 (i686).

Python language bindings for Qpid Proton

To install the Python language bindings for the Qpid Proton messaging framework, enter the following command (as a superuser):
# yum install python-qpid-proton python-qpid-proton-doc

Compiling the Qpid C++ client from sources on RHEL 6

The Qpid C++ client cannot be compiled from sources through the Client or ComputeNode channels on RHEL 6 (due to a missing dependency on the package, nss-devel). In order to compile from sources, it is recommended that you install the Qpid C++ client through the Server channel instead.

6.2. Installing Clients on All Other Platforms

Downloading the client packages

You can download the messaging client packages for AMQ, as follows:
  1. Navigate to the Red Hat Software Downloads page on the Red Hat Customer Portal.
  2. Select A-MQ under Integration Platforms in the sidebar menu (or using the drop-down menu for the Product field).
  3. Choose 6.3 from the Version drop-down list on the Software Downloads page.
  4. Click Download next to the client package that you want to download.

Appendix A. Installing the Apache ActiveMQ Standard Distribution

Abstract

Red Hat AMQ includes a standard distribution of Apache ActiveMQ in the installation's extras directory.

A.1. Apache ActiveMQ Distribution

If you simply want to use a standard distribution of Apache ActiveMQ you can use the archived version in the installation's extras directory.
The apache-activemq-5.11.0.redhat-630<build#>-bin.zip archive file is provided.
You can copy this archive file to the desired location and decompress it using the appropriate utility for your platform.
Warning
Do not unpack the archive file into a folder that has spaces in its path name. For example, do not unpack into C:\Documents and Settings\Greco Roman\Desktop\fusesrc.

Appendix B. Red Hat AMQ Maven Repositories

Abstract

Red Hat AMQ strongly supports Maven, an open source build system available from Apache Maven. To use Maven to build your projects, you need to specify, in a Maven settings.xml file, where required artifacts are located.

B.1. Maven Repositories

The following repositories contain artifacts your projects may need:
  • AMQ repository
    Provides access to the artifacts in the Red Hat Maven repository. This repository is required:
    https://maven.repository.redhat.com/ga
  • AMQ early access repository
    Provides access to the artifacts in the Red Hat Maven repository for early access releases. This repository is optional:
    https://maven.repository.redhat.com/earlyaccess/all

Legal Notice

Trademark Disclaimer

The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Apache, ServiceMix, Camel, CXF, and ActiveMQ are trademarks of Apache Software Foundation. Any other names contained herein may be trademarks of their respective owners.