|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
MQ CLUSTERING |
« View previous topic :: View next topic » |
Author |
Message
|
kavithadhevi |
Posted: Wed Jun 19, 2002 9:39 am Post subject: MQ CLUSTERING |
|
|
 Master
Joined: 14 May 2002 Posts: 201 Location: USA
|
Hi,
I am here for in need of some help regd MQ clstering. i tried the sample cluster creation and queue sharing , everything work fines. i want someones help regd the QManager failover tests and steps.
i tried the same ways given in the manual , using the sample exit program in a qmanager.
but didnt know how it works and wat should i do , i tried shutting down the QM which has a cluster Q where i added the exit prg and by the way which is not a repository but in a cluster, i thought it'll use the run exit prg to route to another QM in the cluster but instead it throws error that QM not available. i have no clue how to try for fail over.
I really appreciate if anybody whos is experience in clustering helps me out here.
The error i found in that QMgrs error log. thought might give sme clue.
Quote: |
AMQ7210: The Cluster Workload exit module could not be loaded.
EXPLANATION:
The Cluster Workload exit module 'c:\MQM\tools\c\bin\amqswlm' could not be
loaded for reason xecU_I_FUNCTION_NOT_FOUND.
ACTION:
Correct the problem with the Cluster Workload exit module
'c:\MQM\tools\c\bin\amqswlm' |
_________________ Thanks in Advance.
Kavitha
IBM Certified System Administrator
Websphere MQ v 5.3
www.zealphoenix.com |
|
Back to top |
|
 |
mrlinux |
Posted: Wed Jun 19, 2002 10:20 am Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
you shouldnt need a cluster worload exit if you just want to round robin/fail over, that is there by default. _________________ Jeff
IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries |
|
Back to top |
|
 |
kavithadhevi |
Posted: Wed Jun 19, 2002 10:37 am Post subject: |
|
|
 Master
Joined: 14 May 2002 Posts: 201 Location: USA
|
Hi,
Thanks for your reply.
Oh ! really, thats great. so how could i test for failovers and wat should i do? pls help me. _________________ Thanks in Advance.
Kavitha
IBM Certified System Administrator
Websphere MQ v 5.3
www.zealphoenix.com |
|
Back to top |
|
 |
mrlinux |
Posted: Wed Jun 19, 2002 10:55 am Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
well when I tested it I took one queue manager down and continued sending data and watch it continue to go through the queue manager that was up _________________ Jeff
IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries |
|
Back to top |
|
 |
kavithadhevi |
Posted: Wed Jun 19, 2002 11:08 am Post subject: |
|
|
 Master
Joined: 14 May 2002 Posts: 201 Location: USA
|
Really, i tried the same.
i created a cluster shared Q. then i use amqsput Qname Qmanager name if i dont give QMnager name its gives 2059 error as well as if i stop QManager.
Also, i noticed that you can only browse the msgs in the Cluster Q from the QManager where you created the Q from. so say if we bring that down, wat will happen if they wanted to get the message, i know u can put messages but how about getting messages. pls give me idea on that.
also i would like to know , for wat workload is used. i mean the one i mention above in my first forum.
how could i try for the failovers , did u try thru any application or amqsput.pls let me know so i could try, cos whichever ways i tried, involves compulasory ref to QMgr name, thats why may be i am unable to test failovers.pls give me idea.
so this is the situation i am facing. _________________ Thanks in Advance.
Kavitha
IBM Certified System Administrator
Websphere MQ v 5.3
www.zealphoenix.com |
|
Back to top |
|
 |
bduncan |
Posted: Wed Jun 19, 2002 2:10 pm Post subject: |
|
|
Padawan
Joined: 11 Apr 2001 Posts: 1554 Location: Silicon Valley
|
Kavita,
The reason your tests aren't working is because you are using the amqsput application. Whenever a program is putting a message to a clustered queue, it needs to specify how it is going to bind to that queue. Since there may be more than one instance of that queue in the cluster, the application needs to tell the queue manager during the MQOPEN whether it wants to bind to a single instance of the queue for all subsequent MQPUTs, or whether it wants the queue manager to re-resolve (i.e., use the round-robin balancing algorithm) the queue after every MQPUT. So if your application uses the MQOO_BIND_NOT_FIXED parameter during the MQOPEN, then it will be able to recovery when one instance of the queue goes down. But the amqsput program is written such that it binds to a single instance of the clustered queue for its entire life (MQOO_BIND_ON_OPEN I think - I can't quite remember) which means that when the instance of the queue that amqsput is communicating with goes down, the amqsput program will no longer work. You can take the source code for amqsput and add the MQOO_BIND_NOT_FIXED parameter, and this should allow you to test workload balancing / recovery. _________________ Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator |
|
Back to top |
|
 |
kavithadhevi |
Posted: Thu Jun 20, 2002 5:01 am Post subject: |
|
|
 Master
Joined: 14 May 2002 Posts: 201 Location: USA
|
Hi,
Thank you Brandon for the reply.
i actually tried that while creating a local Q itself , i mean the cluster tab changing the Default bind to "not fixed". But still i tried your way, of doing it in my java application. i used the open option as "MQOO_BIND_NOT_FIXED". but in the application i had to give the QManager name, so wat happend if i bring down the QManager it gives 2059 error. i m totally confused here. pls help me out here and also help me understand this
Quote: |
Also, i noticed that you can only browse the msgs in the Cluster Q from the QManager where you created the Q from. so say if we bring that down, wat will happen if they wanted to get the message, i know u can put messages but how about getting messages. pls give me idea on that.
I am pretty clear in the point that creating one cluster Q can be accessed and put messages from any QM local or remote. but my concern is brining down the QM and getting messages.
Pls help me here.
|
_________________ Thanks in Advance.
Kavitha
IBM Certified System Administrator
Websphere MQ v 5.3
www.zealphoenix.com |
|
Back to top |
|
 |
bduncan |
Posted: Thu Jun 20, 2002 7:18 am Post subject: |
|
|
Padawan
Joined: 11 Apr 2001 Posts: 1554 Location: Silicon Valley
|
Kavitha,
First of all, changing the default binding on the queue to not fixed will do nothing if the application is opening the queue with fixed or non-fixed bindings. It only works if the application is opening the queue with MQOO_BIND_AS_QDEF (I think that's what the parameter is, otherwise it's something that sounds similiar)
Second, let's clear up this issue about clustered queues. Let's say you have QMGR1 and QMGR2, and they are in a cluster together and both of them have a clustered queue called Q1. Keep in mind that QMGR1 and QMGR2 reside on different physical machines. Now, your application can only connect to one of these. And unless your application is using the client connection, it can only connect to the queue manager that's running on the same physical machine as itself. So, let's say your application is running on the same machine as QMGR1. Your application will connect to QMGR1 and open Q1 using MQOO_BIND_NOT_FIXED. Now your application starts MQPUTing messages to Q1. The first message will end up in Q1 on QMGR1, the second message will end up in Q1 on QMGR2, on and on, according to the round robin workload balancing algorithm. Now, let's imagine that the machine running QMGR2 suddenly dies. Now your application will always MQPUT messages to Q1 on QMGR1, because the instance of Q1 on QMGR2 is no longer available. However, if instead QMGR1 goes down, well then, your application breaks. This is because it was connected to QMGR1. There is no way around this. Your application always has to connect to some queue manager in order to put messages into the cluster. While other machines in the cluster can go down and your application will continue to function (and the workload balancing algorithm will route messages around any nonfunctioning machines) if the queue manager your application is connected to goes down, then everything stops. Hope this helps... _________________ Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator |
|
Back to top |
|
 |
kavithadhevi |
Posted: Thu Jun 20, 2002 7:28 am Post subject: |
|
|
 Master
Joined: 14 May 2002 Posts: 201 Location: USA
|
Hi Brandon,
Thank you very much for your elaborate explanation. Now i am clear of the situation here. I really appreciate taking time to explain me.  _________________ Thanks in Advance.
Kavitha
IBM Certified System Administrator
Websphere MQ v 5.3
www.zealphoenix.com |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|