ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Clustering » Clustering

Post new topic  Reply to topic
 Clustering « View previous topic :: View next topic » 
Author Message
MQS
PostPosted: Mon Mar 04, 2002 3:05 pm    Post subject: Reply with quote

Newbie

Joined: 12 Feb 2002
Posts: 7

I desperately need some help on clustering. I have set up two queue managers with identical queue names in two different servers and created a cluster from them. Now if i want to send a message from a client to a queue in the cluster, how do I achieve that? I have tried coping the client connection table from the server to the client but that did not work.

Secondly, if one of the server is down will the messages automatically get delivered to the other server that is up and running.
Back to top
View user's profile Send private message
mqonnet
PostPosted: Mon Mar 04, 2002 5:31 pm    Post subject: Reply with quote

Grand Master

Joined: 18 Feb 2002
Posts: 1114
Location: Boston, Ma, Usa.

That is the very essense of having Clusters. In the event of failure of one of the repositories, the other takes over the whole show. And thus in the case of your first QM going down, the other one takes over all the processing.

As for accessing the queue is concerned. You should be able to connect to only one qm and able to put messages on the queue. If this queue is present on both the Qm's with the same name, then MQ puts the messages using round robin mechanism to the queues. And which queue is chosen depends on which one comes first in the round robin.

Hope this helps.
Not quite sure what you mean by trying to connect using client without luck. If the above info does not suffice your queries, you need to supply more info as to what you were trying to do and where it is going wrong.

Cheers.
kumar

_________________
IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator
Back to top
View user's profile Send private message Send e-mail Visit poster's website
MQS
PostPosted: Wed Mar 06, 2002 9:00 am    Post subject: Reply with quote

Newbie

Joined: 12 Feb 2002
Posts: 7

Kumar thank you for the inputs. Let me explain my problem in detail.

Created two queue managers QM1 on Server 1 and QM2 on Server 2
Created a cluster out of the two queue managers.
Created three Queues Q1, Q2, Q3 on both the queue managers.
Copied the client connection table from the server from which I created the cluster to a client machine.
I am not able to put message on to the servers from the client by referencing to the client connection table.

I am not sure where I am going wrong. Please respond.

Thanks
Back to top
View user's profile Send private message
mqonnet
PostPosted: Wed Mar 06, 2002 9:22 am    Post subject: Reply with quote

Grand Master

Joined: 18 Feb 2002
Posts: 1114
Location: Boston, Ma, Usa.

As per my understanding i believe you need to add a Channel definition from the client, or you need to add the Svrconn channel on the server. I have not used channel def tabels much, so cannot comment definitely.

But you could as well use the MQSERVER variable, instead, you have to define the Svrconn channel on only one of the Servers and you should be able to access the queues defined on both systems, on a round robin fashion.

Refer to "clients" section in the IBM Manuals.

Hope this helps.
Cheers.
Kumar

_________________
IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator
Back to top
View user's profile Send private message Send e-mail Visit poster's website
MQS
PostPosted: Wed Mar 06, 2002 10:01 am    Post subject: Reply with quote

Newbie

Joined: 12 Feb 2002
Posts: 7

Kumar,

If go by using the MQ Variable and define the svrconn channel, what will happen to the messages if that server is down. Will the messages automatically get routed to the other server in the cluster.

Thanks
Back to top
View user's profile Send private message
mqonnet
PostPosted: Wed Mar 06, 2002 10:36 am    Post subject: Reply with quote

Grand Master

Joined: 18 Feb 2002
Posts: 1114
Location: Boston, Ma, Usa.

Yes it will. The server is always hidden from the application programmers perspective. And he/she is never known about the status of the server until both servers(assuming that there are only 2 of them and both full repositories) go down.

Cheers.
Kumar

_________________
IBM Certified WebSphere MQ V5.3 Developer
IBM Certified WebSphere MQ V5.3 Solution Designer
IBM Certified WebSphere MQ V5.3 System Administrator
Back to top
View user's profile Send private message Send e-mail Visit poster's website
EddieA
PostPosted: Wed Mar 06, 2002 1:11 pm    Post subject: Reply with quote

Jedi

Joined: 28 Jun 2001
Posts: 2453
Location: Los Angeles

The issue of connecting to the Server and Clustering are COMPLETELY independent of each other.

If you use the MQSERVER variable to connect to a Server (or code the values in your program), then THAT is the server you will connect to. If it is down, then you cannot connect.

If you wish to have the client connect to a Server, but 'fail over' to a second Server if the first is down, then you need to use the Client table.

Neither of the above is changed if the Servers are part of a Cluter or not.

Next, clustering. In the scenario you have described, once the client connects to a Server, QM1 or QM2, then ALL the messages put to the queues Q1, Q2, or Q3 will go to the queues ON THAT SERVER. Why, because a local copy exists.

If you wish to load balance the messages between the queues on QM1 and QM2, then you need to define a 3rd Queue Manager, QM3, that is part of the cluster, but DOES NOT have any of Q1, Q2, or Q3 defined. Then connect your client to QM3. When you put a message to either Q1, Q2, or Q3, then MQ will round-robin the messages between QM1 and QM2. (Assuming that all the BIND options are correctly set).

Cheers,

_________________
Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0
Back to top
View user's profile Send private message
MQS
PostPosted: Fri Mar 08, 2002 9:05 am    Post subject: Reply with quote

Newbie

Joined: 12 Feb 2002
Posts: 7

Thank you very much for your suggestion. I still have some unresolved question with the cluster setup. Let me first explain how i have setup my cluster.

Two Servers Server1 and Server2
Four Queue Managers - QM1 & QM3 on Server1 and QM2 & QM4 on Server2
Created a cluster first with QM3 & QM4 and both hold full repositories.
Then added QM1 to the cluster from Server1 and QM2 to the cluster from Server2.
Created Identical Queues in both QM1 & QM2.
Copied the client connection table of QM3 which has connection of QM4 to my local client machine.
Now if i try to put messages to the cluster. MQ puts messages only to the queues in QM1, it does not do a round robbin and put messages to the queues in both QM1 & QM2.

I am not sure where i am going wrong , please help.

Thanks
Back to top
View user's profile Send private message
EddieA
PostPosted: Fri Mar 08, 2002 3:08 pm    Post subject: Reply with quote

Jedi

Joined: 28 Jun 2001
Posts: 2453
Location: Los Angeles

When you say it puts all messages to QM1, is that from a single execution of your client program, or multiple executions.

If it's from a single execution, then this could be down to the options for the Queue and you Open options.

The default Open option is MQOO_BIND_AS_Q_DEF.

The default Queue property is DEFBIND(OPEN).

This means that once you Open a Cluster Queue, all MQPUTs to that queue will go to the same instance.

If it's from different executions of your client program, then I would make sure that you really are connecting to either QM3 or QM4 (and NOT QM1). Also confirm that there are no communication problems between the QM you connect to and QM2.

Cheers,

_________________
Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0
Back to top
View user's profile Send private message
MQS
PostPosted: Mon Mar 11, 2002 11:59 am    Post subject: Reply with quote

Newbie

Joined: 12 Feb 2002
Posts: 7

Eddie,

Thankyou very much for your help. I finally got the cluster working.

Regards
MQS
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Clustering » Clustering
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.