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 » Addressibility of multiple gateways in a single Cluster

Post new topic  Reply to topic Goto page Previous  1, 2
 Addressibility of multiple gateways in a single Cluster « View previous topic :: View next topic » 
Author Message
fjb_saper
PostPosted: Mon Jan 21, 2008 6:02 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20757
Location: LI,NY

Do a dis qc(qname) clusqmgr
This will show the qmgr(s) hosting the queue. This is where you need to change the definition.

Did you define the cluster alias on the gateways?

Did you define the request qmgr aliases on the gateways with the cluster attribute?

These last 2 steps are essential to your routing...

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
MQWays
PostPosted: Mon Jan 21, 2008 10:37 pm    Post subject: Reply with quote

Acolyte

Joined: 20 Jan 2008
Posts: 61

All the queue managers in the cluster show NOTFIXED against the queue attributes.

- The cluster alias on the gateway
DEFINE QL(ANY.CLUSTER) RNAME('') RQMNAE('')

- The Request Qmgr alias on the gaeway with cluster attribute
I didn't get this. Please explain.

------

My definitions are as follows

- Machine 1 (Outside Cluster)

DEFINE QR(QUEUE) RNAME(QUEUE) RQMNAME(ANY.CLUSTER) XMITQ(GATEWAY QMGR ON MACHINE 2)

- Machine 2 ( Gateway Q Mgr)

DEFINE QR(ANY.CLUSTER) RNAME('') RQMNAME('')

Lastly, how can I view the currdepth value on the local instances of the cluster queue. DIS QC(QUEUE) does not show it. And DIS Q(QUEUE) says object not found.
Back to top
View user's profile Send private message
Vitor
PostPosted: Tue Jan 22, 2008 12:35 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

MQWays wrote:
- The cluster alias on the gateway
DEFINE QL(ANY.CLUSTER) RNAME('') RQMNAE('')


You do mean QR not QL don't you?

MQWays wrote:

- The Request Qmgr alias on the gaeway with cluster attribute
I didn't get this. Please explain.


The alias must participate in the cluster.

MQWays wrote:
Lastly, how can I view the currdepth value on the local instances of the cluster queue. DIS QC(QUEUE) does not show it. And DIS Q(QUEUE) says object not found.


You can only view the depth from the queue manager where the queue is local.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
MQWays
PostPosted: Tue Jan 22, 2008 1:17 am    Post subject: Reply with quote

Acolyte

Joined: 20 Jan 2008
Posts: 61

Yes, I do mean QR. QL was a typo in my post.

Was the definition of Qmgr alias on gateway correct. I didn't set any cluster attribute on the Qmgr alias defined on the gateway.

Quick Recap:

Problem: Unable to achieve workload distribution via amqsput in one go or several shots. All the messages are directed to one machine i.e. Machine 5.

Scenario & Definitions:

Machine 1(Outside Cluster):
- Defined remote queue with configs in earlier post.
- Set the DEFBIND on the remote queue to NOTFIXED
- CLWLUSEQ Qmgr attribute is set to LOCAL

Machine 2(Cluster Gateway-Full Repository):
- Defined Q mgr alias (ANY.CLUSTER) with configs in earlier post.
- CLWLUSEQ Qmgr attribute is set to ANY
- DEFBIND for Qmgr Alias (ANY.CLUSTER) attribute is set to OPEN
- DEFBIND for local instance of the clustered queue set to NOTFIXED

Machine 5(Cluster member holding the cluster queue-Full Respository)
- CLWLUSEQ Qmgr attribute is set to LOCAL
- CLWLUSEQ queue attrbite of the actual cluster queue is set to ANY
- DEFBIND for the cluster queue is set to NOTFIXED

Machine 4(Cluster member holding local instance of cluster queue-Full Repository)
- CLWLUSEQ Qmgr attribute is set to ANY
- DEFBIND for the local instance of the cluster queue is set to NOTFIXED

Appreciate a quick response.
Back to top
View user's profile Send private message
Vitor
PostPosted: Tue Jan 22, 2008 1:30 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

MQWays wrote:
- DEFBIND for Qmgr Alias (ANY.CLUSTER) attribute is set to OPEN


And you're wondering why all the messages are going to a single target?

I still think that alias should participate in the cluster, but if the messages are reaching Machine 5 then clearly not.

And you don't really need 3 Full Repositories in a cluster. 2 will suffice in most situations, ideally on the largest machines with the highest expected availability.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
MQWays
PostPosted: Tue Jan 22, 2008 2:34 am    Post subject: Reply with quote

Acolyte

Joined: 20 Jan 2008
Posts: 61

I have done the change on the Q mgr alias as below

DIS Q(ANY.CLUSTER)
42 : DIS Q(ANY.CLUSTER)
AMQ8409: Display Queue details.
QUEUE(ANY.CLUSTER) TYPE(QREMOTE)
ALTDATE(2008-01-22) ALTTIME(14.24.01)
CLUSNL( ) CLUSTER( )
CLWLPRTY(0) CLWLRANK(0)
DEFBIND(NOTFIXED) DEFPRTY(0)
DEFPSIST(NO) DESCR( )
PUT(ENABLED) RQMNAME( )
RNAME( ) SCOPE(QMGR)
XMITQ( )

Yet, the problem is not resolved. All the messages put from the outside go to machine 5 only. I would like to achieve workload distribution between Machine 4 & Machine 5. Please suggest what I may be missing.

Also,
Quote:
You can only view the depth from the queue manager where the queue is local.


Then, how would I know what # of messages have been distributed to what all local instances of the cluster queue on different cluster members.
Back to top
View user's profile Send private message
Vitor
PostPosted: Tue Jan 22, 2008 2:41 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

MQWays wrote:
All the messages put from the outside go to machine 5 only. I would like to achieve workload distribution between Machine 4 & Machine 5. Please suggest what I may be missing.


You've checked the alias definitions; I'd work through and ensure that nothing is accidently specifing the queue manager name of Machine 5 explicitly (and from your posts it doesn't seem to be).

Then work back through the cluster. For instance, if you put directly to the cluster queue from machine 2, do the messages split across 4 & 5?

MQWays wrote:
how would I know what # of messages have been distributed to what all local instances of the cluster queue on different cluster members.


You'd engage accounting and statistics on the participating queue managers and amalgamate the results. Or use a proprietory monitoring package. Or ask whoever's giving you the requirement what they hope to gain from this information.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
MQWays
PostPosted: Tue Jan 22, 2008 3:11 am    Post subject: Reply with quote

Acolyte

Joined: 20 Jan 2008
Posts: 61

Even if I put message directly into machine 2, the messages do not get split across between machine 4 & 5.

The only place where I see explicit name of the Q Mgr on Machine 5 is

DIS QC(QUEUE)
54 : DIS QC(QUEUE)
AMQ8409: Display Queue details.
QUEUE(QUEUE) TYPE(QCLUSTER)
ALTDATE(2008-01-22) ALTTIME(12.19.26)
CLUSDATE(2008-01-21) CLUSTER(NLB)
CLUSQMGR(MGR3) CLUSQT(QLOCAL)
CLUSTIME(22.28.27) CLWLPRTY(0)
CLWLRANK(0) DEFBIND(NOTFIXED)
DEFPRTY(0) DEFPSIST(NO)
DESCR( ) PUT(ENABLED)
QMID(MGR3_2008-01-21_22.16.38)

And the bold is where cluster queue is defined.
Back to top
View user's profile Send private message
Vitor
PostPosted: Tue Jan 22, 2008 3:35 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

If you're issuing a DIS QC(QUEUE) and only getting one instance listed, especially as machine2 is a Full Repository in your topology IIRC, then that's the only instance of QUEUE which the cluster believes exists and hence is getting all the messages for QUEUE put in the cluster.

You need to investigate why the instance of QUEUE which you have (on machine 4 presumably) is not visible to the cluster. Check the queue definition and the cluster channels.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Jan 22, 2008 4:48 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20757
Location: LI,NY

Quick Recap: see changes highlighted in red and additions in dark red

Problem: Unable to achieve workload distribution via amqsput in one go or several shots. All the messages are directed to one machine i.e. Machine 5.

Scenario & Definitions:

Machine 1(Outside Cluster):
- Defined remote queue with configs in earlier post.
- Set the DEFBIND on the remote queue to NOTFIXED
- CLWLUSEQ Qmgr attribute is set to LOCAL

Machine 2(Cluster Gateway-Full Repository):
- Defined cluster alias (ANY.CLUSTER) with configs in earlier post.
- CLWLUSEQ Qmgr attribute is set to ANY
- DEFBIND for Qmgr Alias (ANY.CLUSTER) attribute is set to NOTFIXED
- DEFBIND for local instance of the clustered queue set to NOTFIXED
- Define qmgr alias for qmgr on machine1 for the cluster (mycluster) or whatever your cluster name is
This enables the return path to MACH1 qmgr on machine 1
- DEF QL(TO.MACH1) USAGE(XMITQ) TRIGGER INITQ(SYSTEM.CHANNEL.INITQ)
- DEF QR(MACH1) RQMNAME(MACH1) CLUSTER(MYCLUSTER) XMITQ(TO.MACH1)
- DEF CHL(GTWY.TO.MACH1) CHLTYPE(SDR) TRPTYPE (TCP) +
CONNAME('machine1(port)') XMITQ(TO.MACH1)


Machine 5(Cluster member holding the cluster queue-Full Respository)
- CLWLUSEQ Qmgr attribute is set to LOCAL
- CLWLUSEQ queue attrbite of the actual cluster queue is set to ANY
- DEFBIND for the cluster queue is set to NOTFIXED

Machine 4(Cluster member holding local instance of cluster queue-Full Repository)
- CLWLUSEQ Qmgr attribute is set to ANY
- DEFBIND for the local instance of the cluster queue is set to NOTFIXED


_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
MQWays
PostPosted: Tue Jan 22, 2008 6:06 am    Post subject: Reply with quote

Acolyte

Joined: 20 Jan 2008
Posts: 61

One-way workload distribution now WORKS.

Quote:
I still think that alias should participate in the cluster, but if the messages are reaching Machine 5 then clearly not.


I tried in negative and got through i.e. defined cluster attribute for Qmgr alias on the gateway even though the messages were reaching Machine 5.

I will now work on the reply to the Qmgr outside the cluster and revert if required.

Thanks.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum Index » Clustering » Addressibility of multiple gateways in a single Cluster
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.