Removing a cluster network

 


Scenario

  • A WebSphere MQ cluster has been set up as described in Converting an existing network into a cluster.

  • This cluster is now to be removed from the system. The network of queue managers is to continue functioning as it did before the cluster was implemented.

 

1. Remove cluster queues from the cluster

On both CHICAGO and CHICAGO2, modify the local queue definition for the queue RCVINVCQ to remove the queue from the cluster. To do this, issue the command:

ALTER QLOCAL(RCVINVCQ) CLUSTER(' ')

When you do this, the information in the full repositories is updated and propagated throughout the cluster. Active applications using MQOO_BIND_NOT_FIXED, and applications using MQOO_BIND_AS_Q_DEF where the queue has been defined with DEFBIND(NOTFIXED), fail on the next attempted MQPUT or MQPUT1 call. The reason code MQRC_UNKNOWN_OBJECT_NAME is returned.

You do not have to perform Step 1 first, but if you don't, perform it instead after Step 4.

 

2. Stop all applications that have access to cluster queues

Stop all applications that have access to cluster queues. If you do not, some cluster information might remain on the local queue manager when you refresh the cluster in Step 5. This information is removed when all applications have stopped and the cluster channels have disconnected.

 

3. Remove the repository attribute from the full repository queue managers

On both CHICAGO and CHICAGO2, modify the queue manager definitions to remove the repository attribute. To do this issue the command:

ALTER QMGR REPOS(' ')

The queue managers inform the other queue managers in the cluster that they no longer hold the full repositories. When the other queue managers receive this information, you will see a message indicating that the full repository has ended, and one or more messages indicating that there are no longer any repositories available for the cluster CHAINSTORE.

 

4. Remove cluster channels

On CHICAGO remove the cluster channels:

ALTER CHANNEL(TO.CHICAGO2) CHLTYPE(CLUSSDR) CLUSTER(' ')
ALTER CHANNEL(TO.CHICAGO) CHLTYPE(CLUSRCVR) CLUSTER(' ')

You will see messages indicating that there are no repositories for the cluster CHAINSTORE.

If you did not remove the cluster queues as described in Step 1, do so now.

 

5. Issue the REFRESH CLUSTER command

On CHICAGO remove the cluster information held in the queue manager's full repository with the command:

REFRESH CLUSTER(CHAINSTORE) REPOS(YES)

All cluster information about the cluster CHAINSTORE is now removed from the queue manager. If cluster channels are still active, information regarding these channels remains in the queue manager's partial repository until the channel is stopped.

 

6. Repeat Steps 4 and 5 for each queue manager in the cluster

Remove all definitions for cluster channels and cluster queues from each queue manager and issue the REFRESH CLUSTER command.

 

7. Replace the remote-queue definitions for the RCVINVCQ

So that the network can continue to function, replace the remote queue definition for the RCVINVCQ at every queue manager.

 

8. Tidy up the cluster

Delete any queue or channel definitions no longer required.

 

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.