Queue Manager Clusters

 

+

Search Tips   |   Advanced Search

 

  1. About this book
  2. Who should read this book
  3. What you need to know to understand this book
  4. How to use this book
  5. Appearance of text in this book
  6. Terms used in this book
  7. Summary of changes
  8. Changes for this edition (plug-in version 6.0.2.11)
  9. Changes for the previous edition (SC34-6589-01)
  10. Getting started with queue manager clusters
  11. Concepts and terminology
  12. Concepts
  13. Comparison with distributed queuing
  14. Overview of cluster components
  15. Terminology
  16. Benefits
  17. Things to consider
  18. Summary of concepts
  19. Using clusters to ease system administration
  20. How can I use clusters?
  21. Can I use clusters and queue-sharing groups?
  22. How does the system administrator benefit?
  23. Definitions to set up a network using distributed queuing
  24. Definitions to set up a network using clusters
  25. What about my applications?
  26. How do I set up a cluster?
  27. Establishing communication in a cluster
  28. Channel initiator
  29. Channel listener
  30. First tasks
  31. Task 1: Setting up a new cluster
  32. Using the sample program
  33. Using your own programs
  34. Task 2a: Adding a new queue manager to a cluster
  35. Task 2b: Adding a new queue manager to a cluster — using DHCP
  36. Using queue manager clusters
  37. How queue manager clusters work
  38. Components of a cluster
  39. Queue managers and repositories
  40. Queues
  41. Cluster transmission queue
  42. Cluster channels
  43. Auto-definition of remote queues
  44. Auto-definition of channels
  45. What makes clustering work?
  46. Using aliases and remote-queue definitions with clusters
  47. Queue-manager aliases
  48. Reply-to queue aliases
  49. Queue aliases
  50. Examples of using aliases within clusters
  51. Putting from a queue manager outside a cluster
  52. Replying to a queue manager outside the cluster
  53. Putting from a queue manager outside the cluster - alternative techniques
  54. Using a queue manager alias
  55. Using a clustered queue as a queue manager alias
  56. Putting to a queue manager outside the cluster
  57. Replying from a queue manager outside the cluster
  58. Putting across clusters
  59. Using clusters for workload management
  60. More than one instance of a queue
  61. Workload balancing
  62. The cluster workload management algorithm
  63. Cluster workload user exit
  64. Writing and compiling cluster workload exit programs
  65. WebSphere MQ for z/OS
  66. Platforms other than z/OS
  67. Sample cluster workload exit
  68. Programming considerations
  69. Reviewing applications for message affinities
  70. Handling message affinities
  71. MQI and clusters
  72. MQOPEN
  73. Resolved queue manager name
  74. MQPUT and MQPUT1
  75. MQINQ
  76. MQSET
  77. Return codes
  78. Using WebSphere MQ commands with clusters
  79. MQSC command attributes
  80. Queue-manager definition commands
  81. Channel definition commands
  82. Queue definition commands
  83. WebSphere MQ commands for work with clusters
  84. DISPLAY CLUSQMGR
  85. SUSPEND QMGR and RESUME QMGR
  86. REFRESH CLUSTER
  87. RESET CLUSTER
  88. CLUSTER commands on z/OS
  89. Managing WebSphere MQ clusters
  90. Designing clusters
  91. Selecting queue managers to hold full repositories
  92. Organizing a cluster
  93. Naming Convention
  94. Overlapping clusters
  95. Defining classes of service
  96. Objects
  97. Cluster-administration considerations
  98. Maintaining a queue manager
  99. Refreshing a queue manager
  100. Recovering a queue manager
  101. Maintaining the cluster transmission queue
  102. What happens when a queue manager fails?
  103. What happens when a repository fails?
  104. What happens if I put-disable a cluster queue?
  105. How long do the queue manager repositories retain information?
  106. Cluster channels
  107. Online monitoring
  108. Keeping clusters secure
  109. Stopping unauthorized queue managers sending messages to your queue manager
  110. Stopping unauthorized queue managers putting messages on your queues
  111. Stopping your queue manager putting messages to remote queues
  112. Preventing queue managers joining a cluster
  113. Using security exits on cluster channels
  114. Forcing unwanted queue managers to leave a cluster
  115. Using SSL
  116. Upgrading clustered queue managers and channels to use SSL
  117. Disabling SSL on clustered queue managers and channels
  118. Advanced tasks
  119. Task 3: Adding a new queue manager that hosts a queue
  120. Procedure
  121. 1. Determine which full repository TORONTO should refer to first
  122. 2. Define the CLUSRCVR channel
  123. 3. Define a CLUSSDR channel on queue manager TORONTO
  124. 4. Issue the REFRESH CLUSTER command
  125. 5. Review the inventory application for message affinities
  126. 6. Install the inventory application on the system in Toronto
  127. 7. Define the cluster queue INVENTQ
  128. Task 4: Removing a cluster queue from a queue manager
  129. Procedure
  130. 1. Indicate that the queue is no longer available
  131. 2. Check that the queue is no longer available
  132. 3. Disable the queue
  133. 4. Monitor the queue until it is empty
  134. 5. Monitor the channel to ensure there are no in-doubt messages
  135. 6. Delete the local queue
  136. Task 5: Moving a full repository to another queue manager
  137. Procedure
  138. 1. Alter PARIS to make it a full repository queue manager
  139. 2. Add a CLUSSDR channel on PARIS
  140. 3. Define a CLUSSDR channel on NEWYORK that points to PARIS
  141. 4. Check that queue manager PARIS now has a full repository
  142. 5. Alter the queue-manager definition on LONDON
  143. 6. Remove or change any outstanding definitions
  144. Task 6: Converting an existing network into a cluster
  145. Procedure
  146. 1. Review the inventory application for message affinities
  147. 2. Alter the two central queue managers to make them full repository queue managers
  148. 3. Define a CLUSRCVR channel on each queue manager
  149. 4. Define a CLUSSDR channel on each queue manager
  150. 5. Install the inventory application on CHICAGO2
  151. 6. Define the INVENTQ queue on the central queue managers
  152. 7. Check that the cluster changes have been propagated
  153. 8. Delete all remote-queue definitions for the INVENTQ
  154. 9. Implement the cluster workload exit (optional step)
  155. Task 7: Adding a new, interconnected cluster
  156. Procedure
  157. 1. Create a namelist of the cluster names
  158. 2. Alter the two queue-manager definitions
  159. 3. Alter the CLUSRCVR channels on CHICAGO and CHICAGO2
  160. 4. Alter the CLUSSDR channels on CHICAGO and CHICAGO2
  161. 5. Create a namelist on SEATTLE and ATLANTA
  162. 6. Alter the CLUSRCVR channels on SEATTLE and ATLANTA
  163. 7. Alter the CLUSSDR channels on SEATTLE and ATLANTA
  164. 8. Define CLUSRCVR and CLUSSDR channels on HARTFORD and OMAHA
  165. 9. Define the MORDERQ queue on OMAHA
  166. 10. Check that the cluster changes have been propagated
  167. Task 8: Removing a cluster network
  168. Procedure
  169. 1. Remove cluster queues from the cluster
  170. 2. Stop all applications that have access to cluster queues
  171. 3. Remove the repository attribute from the full repository queue managers
  172. 4. Remove cluster channels
  173. 5. Stop cluster channels
  174. 6. Issue the REFRESH CLUSTER command
  175. 7. Repeat Steps 4 and 5 for each queue manager in the cluster
  176. 8. Replace the remote-queue definitions for the INVENTQ
  177. 9. Tidy up the cluster
  178. Task 9: Adding new queue managers that host a shared queue
  179. Procedure
  180. 1. Determine which full repository the queue managers will refer to first
  181. 2. Define the CLUSRCVR channels
  182. 3. Define a CLUSSDR channel for the queue-sharing group
  183. 4. Define the shared queue
  184. Task 10: Removing a queue manager from a cluster
  185. Procedure
  186. 1. Modify the full repository queue manager REPOS and REPOSNL attributes
  187. 2. Check that the REPOS and REPOSNL changes have been propagated
  188. 3. Suspend queue manager TORONTO
  189. 4. Check that queue manager TORONTO has been suspended
  190. 5. Remove the CLUSRCVR channel definition
  191. 6. Stop the CLUSRCVR channel at TORONTO
  192. 7. Delete the CLUSSDR channel definition
  193. 8. Issue the REFRESH CLUSTER command
  194. Advanced workload balancing tasks
  195. Task 11: Adding a queue manager that hosts a queue locally
  196. Procedure
  197. 1. Alter the PARIS queue manager
  198. 2. Review the inventory application for message affinities
  199. 3. Install the inventory application on the system in Paris
  200. 4. Define the cluster queue INVENTQ
  201. Task 12: Using two networks in a cluster
  202. Procedure
  203. 1. Determine which full repository EDINBURGH should refer to first
  204. 2. Define the CLUSRCVR channels
  205. 3. Define a CLUSSDR channel on queue manager EDINBURGH
  206. Task 13: Using a primary and a secondary network in a cluster
  207. Procedure
  208. 1. Alter the existing CLUSRCVR channels on EDINBURGH
  209. Task 14: Adding a queue to act as a backup
  210. Procedure
  211. 1. Determine which full repository CHICAGO should refer to first
  212. 2. Define the CLUSRCVR channel
  213. 3. Define a CLUSSDR channel on queue manager CHICAGO
  214. 4. Alter the existing cluster queue INVENTQ
  215. 5. Review the inventory application for message affinities
  216. 6. Install the inventory application on the system in CHICAGO
  217. 7. Define the backup cluster queue INVENTQ
  218. Task 15: Restricting the number of channels used
  219. Procedure
  220. 1. Choose 2 full repositories
  221. 2. Define a CLUSRCVR channel on each queue manager
  222. 3. Define a CLUSSDR channel on each queue manager
  223. 4. Install the price check application
  224. 5. Define the PRICEQ queue on all the server queue managers
  225. 6. Restrict the number of channels used by queries
  226. Task 16: Adding a more powerful queue manager that hosts a queue
  227. Procedure
  228. 1. Determine which full repository LOSANGELES should refer to first
  229. 2. Define the CLUSRCVR channel
  230. 3. Define a CLUSSDR channel on queue manager LOSANGELES
  231. 4. Alter the CLUSRCVR channel on queue manager NEWYORK
  232. 5. Review the inventory application for message affinities
  233. 6. Install the inventory application on the system in Los Angeles
  234. 7. Define the cluster queue INVENTQ
  235. Reference information
  236. Cluster workload exit call and data structures
  237. MQ_CLUSTER_WORKLOAD_EXIT - Cluster workload exit
  238. Syntax
  239. Parameters
  240. Usage notes
  241. C invocation
  242. System/390 assembler invocation
  243. MQWXP - Cluster workload exit parameter structure
  244. Fields
  245. C declaration
  246. System/390 assembler declaration
  247. MQWDR - Cluster workload destination-record structure
  248. Fields
  249. C declaration
  250. System/390 assembler declaration
  251. MQWQR - Cluster workload queue-record structure
  252. Fields
  253. C declaration
  254. System/390 assembler declaration
  255. MQWCR - Cluster workload cluster-record structure
  256. Fields
  257. C declaration
  258. System/390 assembler declaration
  259. MQXCLWLN - Navigate cluster workload records
  260. MQXCLWLN - Navigate Cluster workload records
  261. Syntax
  262. Parameters
  263. Usage notes
  264. C invocation
  265. System/390 assembler declaration
  266. Workload balancing attributes
  267. Queue attributes for workload balancing
  268. CLWLPRTY queue attribute
  269. CLWLRANK queue attribute
  270. CLWLUSEQ queue attribute
  271. Queue manager attributes for workload balancing
  272. CLWLUSEQ queue manager attribute
  273. CLWLMRUC queue manager attribute
  274. Channel attributes for workload balancing
  275. CLWLPRTY channel attribute
  276. CLWLRANK channel attribute
  277. CLWLWGHT channel attribute
  278. NETPRTY channel attribute
  279. Troubleshooting
  280. Troubleshooting
  281. Symptom — A cluster sender channel is in retry state.
  282. Cause
  283. Symptom — DISPLAY CLUSQMGR shows CLUSQMGR names starting SYSTEM.TEMP.
  284. Cause
  285. Symptom — Applications get rc=2085 MQRC_UNKNOWN_OBJECT_NAME when trying to open a queue in the cluster.
  286. Cause
  287. Symptom — Applications get rc= 2189 MQRC_CLUSTER_RESOLUTION_ERROR when trying to open a queue in the cluster.
  288. Cause
  289. Symptom — Messages are not appearing on the destination queues.
  290. Cause
  291. Symptom — Applications put messages to a QALIAS but they go the SYSTEM.DEAD.LETTER.QUEUE rather then the TARGQ of the alias.
  292. Cause
  293. Symptom — A queue manager does not appear to have up to date information about queues and channels in the cluster.
  294. Cause
  295. Symptom — No changes in the cluster are being reflected in the local queue manager.
  296. Cause
  297. Symptom — DISPLAY CLUSQMGR, shows a queue manager twice.
  298. Cause
  299. Symptom — RESET CLUSTER and REFRESH CLUSTER commands were issued, but the queue manager would not rejoin the cluster.
  300. Cause
  301. Resolving Problems
  302. Problem 1 — Out of date information in a restored cluster.
  303. Problem 2 — cluster DEMO force removed by mistake.
  304. Problem 3 — Possible repository messages deleted.
  305. Problem 4 — 2 full repositories moved at the same time.
  306. Problem 5 — Unknown state of a cluster.
  307. Programming interface information
  308. Trademarks