Add a new queue manager to a cluster

 


Scenario

  • The INVENTORY cluster has been set up as described in Setting up a new cluster. It contains two queue managers, LONDON and AMSTERDAM, which both hold full repositories.

  • A new branch of the retail store is being set up in PARIS and you want to add a queue manager called PARIS to the cluster.

  • Queue manager PARIS will send inventory updates to the application running on the system in Amsterdam by putting messages on the RCVINVCQ queue.

  • Network connectivity exists between all three systems.

  • The network protocol is TCP.

 

1. Determine which full repository PARIS should refer to first

Every queue manager in a cluster must refer to one or other of the full repositories in order to gather information about the cluster and so build up its own partial repository. Choose either of the repositories, because as soon as a new queue manager is added to the cluster it immediately learns about the other repository as well. Information about changes to a queue manager is sent directly to two repositories. In this example we choose to link PARIS to the queue manager LONDON, purely for geographical reasons.

Note:
Perform the remaining steps in any order, after queue manager PARIS is started.

 

2. Define a CLUSRCVR channel on queue manager PARIS

Every queue manager in a cluster needs to define a cluster-receiver channel on which it can receive messages. On PARIS, define:

DEFINE CHANNEL(TO.PARIS) CHLTYPE(CLUSRCVR) TRPTYPE(TCP)
CONNAME(PARIS.CHSTORE.COM) CLUSTER(INVENTORY)
DESCR('Cluster-receiver channel for queue manager PARIS')

This advertises the queue manager's availability to receive messages from other queue managers in the cluster INVENTORY. There is no need to make definitions on other queue managers for a sending end to the cluster-receiver channel TO.PARIS. These will be made automatically when needed.

 

3. Define a CLUSSDR channel on queue manager PARIS

Every queue manager in a cluster needs to define one cluster-sender channel on which it can send messages to its initial full repository. On PARIS, make the following definition for a channel called TO.LONDON to the queue manager whose network address is LONDON.CHSTORE.COM.

DEFINE CHANNEL(TO.LONDON) CHLTYPE(CLUSSDR) TRPTYPE(TCP)
CONNAME(LONDON.CHSTORE.COM) CLUSTER(INVENTORY)
DESCR('Cluster-sender channel from PARIS to repository at LONDON')

Now that you have completed all the definitions, if you have not already done so, start the channel initiator on WebSphere MQ for z/OS and, on all platforms, start a listener program on queue manager PARIS. The listener program listens for incoming network requests and starts the cluster-receiver channel when it is needed. See Establishing communication in a cluster for more information.

 

The cluster achieved by task 2a

The cluster set up by this task looks like this:

By making only two definitions, a CLUSRCVR definition and a CLUSSDR definition, we have added the queue manager PARIS to the cluster.

Now the PARIS queue manager learns, from the full repository at LONDON, that the RCVINVCQ queue is hosted by queue manager AMSTERDAM. When an application hosted by the system in PARIS tries to put messages to the RCVINVCQ, PARIS automatically defines a cluster-sender channel to connect to the cluster-receiver channel TO.AMSTERDAM. The application can receive responses when its queue-manager name is specified as the target queue manager and a reply-to queue is provided.

 

WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.

 

IBM is a trademark of the IBM Corporation in the United States, other countries, or both.