Contents

Figures
Tables
About this book
Who should read this book
What you need to know to understand this book
How to use this book
Appearance of text in this book
Terms used in this book
Summary of changes
Changes for this edition (SC34-6061-03)
Changes for the previous edition (SC34-6061-02)
Changes for the previous editions (SC34-6061-00 and -01)
Getting started with queue manager clusters
Concepts and terminology
Concepts
Comparison with distributed queuing
Overview of cluster components
Terminology
Benefits
Things to consider
Summary of concepts
Using clusters to ease system administration
How can I use clusters?
Can I use clusters and queue-sharing groups?
How does the system administrator benefit?
Definitions to set up a network using distributed queuing
Definitions to set up a network using clusters
What about my applications?
How do I set up a cluster?
Establishing communication in a cluster
First tasks
Task 1: Setting up a new cluster
Procedure
Task 2a: Adding a new queue manager to a cluster
Procedure
Task 2b: Adding a new queue manager to a cluster -- using DHCP
Procedure
Using queue manager clusters
How queue manager clusters work
Components of a cluster
Queue managers and repositories
Queues
Cluster transmission queue
Cluster channels
Auto-definition of remote queues
Auto-definition of channels
What makes clustering work?
Using aliases and remote-queue definitions with clusters
Queue-manager aliases
Reply-to queue aliases
Queue aliases
Examples of using aliases within clusters
Using clusters for workload management
More than one instance of a queue
Workload balancing
The cluster workload management algorithm
Cluster workload user exit
Writing and compiling cluster workload exit programs
Sample cluster workload exit
Programming considerations
Reviewing applications for message affinities
MQI and clusters
MQOPEN
MQPUT and MQPUT1
MQINQ
MQSET
Return codes
Using WebSphere MQ commands with clusters
MQSC command attributes
Queue-manager definition commands
Channel definition commands
Queue definition commands
WebSphere MQ commands for work with clusters
DISPLAY CLUSQMGR
SUSPEND QMGR and RESUME QMGR
REFRESH CLUSTER
RESET CLUSTER
CLUSTER commands on z/OS
Managing WebSphere MQ clusters
Designing clusters
Selecting queue managers to hold full repositories
Organizing a cluster
Naming Convention
Overlapping clusters
Objects
Cluster-administration considerations
Maintaining a queue manager
Refreshing a queue manager
Recovering a queue manager
Maintaining the cluster transmission queue
What happens when a queue manager fails?
What happens when a repository fails?
What happens if I put-disable a cluster queue?
How long do the queue manager repositories retain information?
Cluster channels
Online monitoring
Keeping clusters secure
Stopping unauthorized queue managers sending messages to your queue manager
Stopping unauthorized queue managers putting messages on your queues
Stopping your queue manager putting messages to remote queues
Preventing queue managers joining a cluster
Using security exits on cluster channels
Forcing unwanted queue managers to leave a cluster
Using SSL
Upgrading clustered queue managers and channels to use SSL
Advanced tasks
Task 3: Adding a new queue manager that hosts a queue
Procedure
Task 4: Removing a cluster queue from a queue manager
Procedure
Task 5: Moving a full repository to another queue manager
Procedure
Task 6: Converting an existing network into a cluster
Procedure
Task 7: Adding a new, interconnected cluster
Procedure
Task 8: Removing a cluster network
Procedure
Task 9: Adding new queue managers that host a shared queue
Procedure
Task 10: Removing a queue manager from a cluster
Procedure
Advanced workload balancing tasks
Task 11: Adding a queue manager that hosts a queue locally
Procedure
Task 12: Using two networks in a cluster
Procedure
Task 13: Using a primary and a secondary network in a cluster
Procedure
Task 14: Adding a queue to act as a backup
Procedure
Task 15: Restricting the number of channels used
Procedure
Task 16: Adding a more powerful queue manager that hosts a queue
Procedure
Reference information
Cluster workload exit call and data structures
MQ_CLUSTER_WORKLOAD_EXIT - Cluster workload exit
Syntax
Parameters
Usage notes
C invocation
System/390(R) assembler invocation
MQWXP - Cluster workload exit parameter structure
Fields
C declaration
System/390 assembler declaration
MQWDR - Cluster workload destination-record structure
Fields
C declaration
System/390(R) assembler declaration
MQWQR - Cluster workload queue-record structure
Fields
C declaration
System/390(R) assembler declaration
MQWCR - Cluster workload cluster-record structure
Fields
C declaration
System/390(R) assembler declaration
MQXCLWLN - Navigate cluster workload records
MQXCLWLN - Navigate Cluster workload records
Workload balancing attributes
Queue attributes for workload balancing
CLWLPRTY queue attribute
CLWLRANK queue attribute
CLWLUSEQ queue attribute
Queue manager attributes for workload balancing
CLWLUSEQ queue manager attribute
CLWLMRUC queue manager attribute
Channel attributes for workload balancing
CLWLPRTY channel attribute
CLWLRANK channel attribute
CLWLWGHT channel attribute
NETPRTY channel attribute
Appendixes
Appendix A. Troubleshooting
Troubleshooting
Symptom -- A manually defined cluster sender channel is in retry state.
Symptom -- DISPLAY CLUSQMGR shows CLUSQMGR names starting SYSTEM.TEMP.
Symptom -- Applications get rc=2085 MQRC_UNKNOWN_OBJECT_NAME when trying to open a queue in the cluster.
Symptom -- Applications get rc= 2189 MQRC_CLUSTER_RESOLUTION_ERROR when trying to open a queue in the cluster.
Symptom -- Messages are not appearing on the destination queues.
Symptom -- Applications put messages to a QALIAS but they go the SYSTEM.DEAD.LETTER.QUEUE rather then the TARGQ of the alias.
Symptom -- A queue manager does not appear to have up to date information about queues and channels in the cluster.
Symptom -- No changes in the cluster are being reflected in the local queue manager.
Symptom -- DISPLAY CLUSQMGR, shows a queue manager twice.
Symptom -- RESET CLUSTER and REFRESH CLUSTER commands were issued, but the queue manager would not rejoin the cluster.
Resolving Problems
Appendix B. Notices
Programming interface information
Trademarks
Index