Establishing communication in a cluster

A channel initiator is needed to start a communication channel when there is a message to deliver. A channel listener waits to start the other end of a channel to receive the message.

Before you begin

To establish communication between queue managers in a cluster, configure a link using one of the supported communication protocols. The supported protocols are TCP or LU 6.2 on any platform, and NetBIOS or SPX on Windows systems. As part of this configuration, you also need channel initiators and channel listeners just as you do with distributed queuing.

About this task

All cluster queue managers need a channel initiator to monitor the system-defined initiation queue SYSTEM.CHANNEL.INITQ. SYSTEM.CHANNEL.INITQ is the initiation queue for all transmission queues including the cluster transmission queue.

Each queue manager must have a channel listener. A channel listener program waits for incoming network requests and starts the appropriate receiver-channel when it is needed. The implementation of channel listeners is platform-specific, however there are some common features. On all WebSphere® MQ platforms, the listener can be started using the START LISTENER command. On WebSphere MQ for IBM® i, Windows, UNIX and Linux® systems, you can start the listener automatically at the same time as the queue manager. To start the listener automatically, set the CONTROL attribute of the LISTENER object to QMGR or STARTONLY.

Procedure

  1. Start the channel initiator.
    • WindowsLinuxUNIX
      IBM WebSphere MQ for Windows, UNIX and Linux systems
      When you start a queue manager, if the queue manager attribute SCHINIT is set to QMGR, a channel initiator is automatically started. Otherwise it can be started using the runmqsc START CHINIT command or the runmqchi control command.
  2. Start the channel listener.
    • Windows
      IBM WebSphere MQ for Windows
      Use either the channel listener program provided by WebSphere MQ, or the facilities provided by the operating system.
      To start the WebSphere MQ channel listener use the RUNMQLSR command. For example:
      RUNMQLSR -t tcp -p 1414 -m QM1
      
    • LinuxUNIX
      IBM WebSphere MQ on UNIX and Linux systems
      Use either the channel listener program provided by WebSphere MQ, or the facilities provided by the operating system; for example, inetd for TCP communications.
      To start the WebSphere MQ channel listener use the runmqlsr command. For example:
      runmqlsr -t tcp -p 1414 -m QM1
      
      To use inetd to start channels, configure two files:
      1. Edit the file /etc/services. You must be logged in as a superuser or root. If the following line is not in the file, add it as shown:
          MQSeries       1414/tcp      # Websphere MQ channel listener
        
        where 1414 is the port number required by IBM WebSphere MQ. You can change the port number, but it must match the port number specified at the sending end.
      2. Edit the file /etc/inetd.conf. If you do not have the following line in that file, add it as shown:
          MQSeries stream tcp nowait mqm MQ_INSTALLATION_PATH/bin/amqcrsta amqcrsta
          -m queue.manager.name
        
        where MQ_INSTALLATION_PATH is replaced by the high-level directory in which WebSphere MQ is installed.

      The updates become active after inetd has reread the configuration files. Issue the following commands from the root user ID:

      On AIX®:
        refresh -s inetd
      
      On HP-UX:
        inetd -c
      
      On Solaris or Linux:
      1. Find the process ID of the inetd with the command:
        ps -ef | grep inetd
        
      2. Run the appropriate command, as follows:
        • For Solaris 9 and Linux:
          kill -1 inetd processid
          
        • For Solaris 10, or later versions:
          inetconv