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 » clussdr channel using wrong ip address

Post new topic  Reply to topic
 clussdr channel using wrong ip address « View previous topic :: View next topic » 
Author Message
merien_took
PostPosted: Fri Dec 15, 2006 10:21 pm    Post subject: clussdr channel using wrong ip address Reply with quote

Novice

Joined: 15 Dec 2006
Posts: 13

Hi,

I am trying to set up a cluster with two queue managers. The clussdr and clusrcvr channels between QM1 and QM2 work fine, but the clussdr channel on QM2 (to QM1) has a different ip address than what I gave it. Does anyone have any idea what might cause this or how to fix it? Both QMs are running on the same computer and same ip address, so it hasn't gotten the incorrect ip from the repository.

Thanks!
Back to top
View user's profile Send private message
wschutz
PostPosted: Sat Dec 16, 2006 3:41 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

When and where do you see this idfferent IP adddress? Post the relevant bits of the channel definitions ....
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
merien_took
PostPosted: Sat Dec 16, 2006 6:33 am    Post subject: Reply with quote

Novice

Joined: 15 Dec 2006
Posts: 13

I have four channels on two queue managers defined. TO.QM1 (clussrcvr) and TO.QM2 (clussdr, conname 192.168.52.177(1415)) on QM1 (holdng the full repository) and TO.QM1 (clussdr, conname 192.168.52.177(1414)) and TO.QM2 (clusrcvr) on QM2 (no repository, just has queues that are part of the cluster).

The problem is that viewing channel status TO.QM1 on QM2 shows a different ip address and that the channel is retrying. TO.QM1 on QM1 immediately goes into an inactive state since nothing is connected to it.

I think what happened is I accidently typed the ip wrong when I first setup the channel (not using DNS, so I can't connect to a machine name) and it propogated through the repository on QM1. Is there any way to refresh the repository to have the information that I've redefined? I've tried "refresh cluster(demo)" on both QM's with no success.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sat Dec 16, 2006 10:22 pm    Post subject: Reply with quote

Grand High Poobah

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

Redefine the cluster receiver with the right IP address.
This should propagate to the repositories.
Stop the cluster receiver. Make sure each corresponding sender is stopped.
Restart the cluster receiver and restart the cluster senders in stopped state...

If you don't want to bother with the corresponding senders just do a cluster refresh repos(yes) on the PR's....

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
merien_took
PostPosted: Sun Dec 17, 2006 9:47 am    Post subject: Reply with quote

Novice

Joined: 15 Dec 2006
Posts: 13

fjp_saper,

I redefined the channel with the correct ip and it still ends up getting the wrong ip when running. I even deleted both QMs and started over, and I guess that wrong ip is retained in the repository, because it still got the wrong ip. I guess next I'll just create a whole new cluster and make sure I'm more careful with my typing. It does seem there should be better way to correct a mistake than this......I'm just glad I wasn't on a production box.
Back to top
View user's profile Send private message
wschutz
PostPosted: Sun Dec 17, 2006 10:25 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

hummm.did you try RESET CLUSTER?
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
merien_took
PostPosted: Sun Dec 17, 2006 3:53 pm    Post subject: Reply with quote

Novice

Joined: 15 Dec 2006
Posts: 13

yeah.......I spent several hours refreshing, resetting, deleting, and redefining things in different orders and nothing worked. I don't suppose there's a way to delete the repository or the cluster?
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Sun Dec 17, 2006 3:59 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Yes.

You can easily remove an entire cluster.

This is done by first unsharing all objects from the cluster, removing all PRs from the cluster, deleting all manually defined cluster channels, and then removing all FRs from the cluster.

Then you can start over.

But you also need to make sure you know that you know what you're seeing. Maybe what you are seeing is correct, but you don't understand enough to know why.

If you can, as previously asked, post the relevant parts of the cluster channel definitions, maybe we can tell you if it's really right or wrong.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
merien_took
PostPosted: Sun Dec 17, 2006 4:55 pm    Post subject: Reply with quote

Novice

Joined: 15 Dec 2006
Posts: 13

I kept a record of what I thought I was typing as I went, so that I can reproduce it on other servers we have. I typed the ip address so many times that I think I got twitchy and hit the wrong buttons. The wrong ip is 192.168.52.132, some random person's desktop computer in my office. You'll note I changed some of the names of QMs and Channels above, but these are exactly what I have. QM3 is a gateway QM here, and QM4 is external to the cluster.


********************
create QM1
********************
#login as user in group mqm
crtmqm QM1
strmqm QM1
runmqsc QM1
alter qmgr repos(Cluster)
define channel(CLUS.TO.QM1) chltype(CLUSRCVR) trptype(TCP) cluster(Cluster)
define qlocal(QL1) cluster(Cluster)
define channel(SYSTEM.ADMIN.SVRCONN) chltype(svrconn)
alter qmgr deadq(SYSTEM.DEAD.LETTER.QUEUE)
define channel(CLUS.TO.QM3) chltype(CLUSSDR) trptype(TCP) cluster(Cluster) conname('192.168.52.177(1415)')
end
runmqlsr -m QM1 -t TCP -p 1414 &
strmqcsv QM1


********************
create QM3
********************
#login as user in group mqm
crtmqm QM3
strmqm QM3
runmqsc QM3
define qremote(ANY.CLUSTER) rname(' ') rqmname(' ')
define qremote(QR1) rname(QL2) rqmname(QM4) cluster(Cluster)
define channel(SYSTEM.ADMIN.SVRCONN) chltype(SVRCONN)
define qremote(QM3) rname(' ') rqmname(QM3) cluster(Cluster)
alter qmgr deadq(SYSTEM.DEAD.LETTER.QUEUE)
define channel(CLUS.TO.QM3) chltype(CLUSRCVR) trptype(TCP) cluster(Cluster)
define channel(CLUS.TO.QM1) chltype(CLUSSDR) trptype(TCP) cluster(Cluster) conname('192.168.52.177(1414)')
define qlocal(XMITQ_QM3) usage(XMITQ)
define channel(TO.QM4) chltype(SDR) xmitq(XMITQ_QM3) conname('192.168.52.177(1416)')
define channel(TO.QM3) chltype(RCVR)
define qlocal(QL3) cluster(Cluster)
define qremote(QR2) rname(QL2) rqmname(QM4) xmitq(XMITQ_QM3)
end
runmqlsr -m QM3 -t TCP -p 1415 &
strmqcsv QM3


On QM3 "display channel(clus.to.qm1)" the conname is 192.168.52.177(1414). But on "display chstatus(clus.to.qm1)" the conname is 192.168.52.132 (with no port).
Back to top
View user's profile Send private message
Mr Butcher
PostPosted: Sun Dec 17, 2006 10:56 pm    Post subject: Reply with quote

Padawan

Joined: 23 May 2005
Posts: 1716

on qm3 you created a clus.to.qm1 with 192.168.52.177(1414), which is used by qm3 to contact qm1.
this is a explicit defined cluster sender

now, qm1 gives its own clus.to.qm1 definition to qm3 to be used for future connections. this is the inmplicit defined cluster sender.

on qm1 you did not specify an ip address on clus.to.qm1 channel, you should specify here the connane that the implicit defined cluster sender channels should use to contact qm1

in addition, qm3 is not a full repository. full repositories should be connected by using explicit defined channels.
on qm1, you defined a cluster sender to qm3. this is not required in your case (unless you want to make qm3 a full repository too)
you define a cluster receiver on qm3 (clus.to.qm3) which is given to the repository. the repository will create an implicit defined cluster sender channel from it, so you do not need to define a clus.to.qm3 on qm1 explicit.
_________________
Regards, Butcher
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Mon Dec 18, 2006 3:33 am    Post subject: Reply with quote

Grand High Poobah

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

Why are you using IP addresses. If your office has a DNS use DNS names for the computers. This takes out of the equation all the net address transformation (NAT) if your MQ network spans more than one tcp/ip network.

Remember this golden rule: the address you specify in the Clusrcvr's CONNAME needs to be available/reachable throughout the cluster.

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
HubertKleinmanns
PostPosted: Tue Dec 19, 2006 2:05 am    Post subject: Reply with quote

Shaman

Joined: 24 Feb 2004
Posts: 732
Location: Germany

merien_took wrote:
fjp_saper,

I redefined the channel with the correct ip and it still ends up getting the wrong ip when running. I even deleted both QMs and started over, and I guess that wrong ip is retained in the repository, because it still got the wrong ip. I guess next I'll just create a whole new cluster and make sure I'm more careful with my typing. It does seem there should be better way to correct a mistake than this......I'm just glad I wasn't on a production box.


Did you also a
Quote:
STOP CHL(...) STATUS(INACTIVE)
?
_________________
Regards
Hubert
Back to top
View user's profile Send private message Visit poster's website
merien_took
PostPosted: Tue Dec 19, 2006 8:34 am    Post subject: Reply with quote

Novice

Joined: 15 Dec 2006
Posts: 13

Mr Butcher,

I did not make QM3 a full repository because I will be adding more QMs later (ultimately we need clustering with full failover and loadbalancing) and one of those will host an FR. QM3 is simply a gateway. I didn't realize I didn't need to add a CLUSSDR and CLUSRDVR to both QMs.

fjb_saper,

My office is using DNS, but I have MQ running on a VM and for whatever reason the VM's machine name won't resolve to an ip address. The actual desktop and VM are using different ips so I can't just use the desktop's DNS name. *shrug* It would take longer to convince the networking people to add that as a DNS entry than to just use the ip. The production boxes will have DNS entries.

Anyway, I did eventually get it fixed. Creating all new QMs and a new cluster didn't work, I guess because it ends up using an old auto-defined CLUSSDR channel. I ended up removing the FR from QM1, stopped the CLUSSDR, altered its definition to use the correct ip, restarted the channel (it then picked up the correct ip), refreshed the repository, and then added the FR back to QM1. Not sure if any of those steps was unneccessary, but that's what I'll do if it happens again.

Thanks to everyone for your help!
Back to top
View user's profile Send private message
Mr Butcher
PostPosted: Tue Dec 19, 2006 11:14 pm    Post subject: Reply with quote

Padawan

Joined: 23 May 2005
Posts: 1716

i am not sure if that is the correct procedure to fix it, and (to be honest) i do not try to follow your steps to fix it. it worked this time, it may not work the next time. in addition, things change if channels are stopped / started in the cluster (going to use the implicit definition of the channels).
From my point of view it is a cluster setup problem, and if you setup your cluster properly you should not face these problems.


on the FR (QM1)
define clusrcvr TO.QM1 with conname(IP/Port of QM1)

on the PR (QMx)
define clusrcvr TO.QMx with conname(IP/Port of QMX)
define clussdr TO.QM1 with conname(IP/Port of QM1)

if you have additional FRs, then you should define "full" channels between all the FR queuemanagers.

eg. another FR QMA
on QM1 you define clussdr TO.QMA
on QMA you define clusrcvr TO.QMA
on QMA you define clussdr TO.QM1

on the PRs, you can define another TO.QMA channel, but it is not mandatory from my point of view.

always keep in mind, that the clusrcvr definition is used by the cluster members to build the implizit defined clussdr definition, so the conname of the clusrcvr must alsway be the "own" conname that the others use to connect to "me"

Its all described in detail in the cluster manual.
_________________
Regards, Butcher
Back to top
View user's profile Send private message
merien_took
PostPosted: Wed Dec 20, 2006 8:44 am    Post subject: Reply with quote

Novice

Joined: 15 Dec 2006
Posts: 13

Mr Butcher,

Thanks, I will try your suggestion. I knew the clussdr got its defintion from the corresponding clusrcvr, but I thought that was only on auto-defined clussdr channels. The cluster manual only mentions that in a brief aside and it is not applied in the demos. *shrug*
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 » clussdr channel using wrong ip address
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.