Author |
Message
|
hguapluas |
Posted: Tue Nov 09, 2004 3:20 pm Post subject: Port range used by cluster sender when initiating connect |
|
|
Centurion
Joined: 05 Aug 2004 Posts: 105 Location: San Diego
|
Does anybody know what is the default range of ports that a cluster sender channel uses when attempting to connect to a remote QM in a cluster on a windows box. I have noticed that the channel starts out around port 1100 and increments up by 1 for each attempted connect. Is there a wrap-around point or will it keep going up by 1 for each unsuccessful attempt?
Need to know to establish firewall rules while attempting to create cluster connections across different networks. How have you solved this problem?
Are there any IBM docs on how the channels pick their port numbers when establishing a connection and what the range is???
---
Forgot to add, this is occurring specifically while the other QM is attempting to join the Cluster and the Cluster Repos is attempting to a channel connect to the remote QM. The error reported in the log is:
AMQ9202: Remote host 'anyhost (192.168.100.1) (1414)' not available, retry later.
EXPLANATION:
The attempt to allocate a conversation using TCP/IP to host 'anyhost
(192.168.100.1) (1414)' was not successful. However the error may be a
transitory one and it may be possible to successfully allocate a TCP/IP
conversation later.
ACTION:
Try the connection again later. If the failure persists, record the error
values and contact your systems administrator. The return code from TCP/IP is
10060 (X'274C'). The reason for the failure may be that this host cannot reach
the destination host. It may also be possible that the listening program at
host 'tiger (192.168.100.1) (1414)' was not running. If this is the case,
perform the relevant operations to start the TCP/IP listening program, and try
again. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Tue Nov 09, 2004 5:23 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Research the LOCLADDR attribute of a channel. It allows you to specify the port or range of ports that a channel should use. Look in both the Intercommunication Guide, as well as the MQSC command referance.
Remember, since Auto Cluster Senders are based on the destination's CLUSRCVR definition, it is on the CLUSRCVR channel def that you will be specifying this. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
Nigelg |
Posted: Wed Nov 10, 2004 12:32 am Post subject: |
|
|
Grand Master
Joined: 02 Aug 2004 Posts: 1046
|
You might want to look at IY56641 (in CSD08) if the CLUSSDR is manually defined, i.e. it is a channel to a full repository.
Quote: |
If the LOCLADDR attribute is defined on a manual CLUSSDR, the
attribute is not used when the channel is started the second
time. Instead, the LOCLADDR is copied from the CLUSRCVR in the
cluster cache, if present. The attribute is used if there is no
cache copy of the CLUSRCVR, i.e. if the channel is being started
for the first time. Change this so that the IP address and port
that the outbound channel binds to is a merger of the IP address
from the LOCLADDR on the manual CLUSSDR, and the port range from
the cluster cache. If there is no port range in the cache, use
the port range from the CLUSSDR LOCLADDR. |
|
|
Back to top |
|
 |
hguapluas |
Posted: Wed Nov 10, 2004 7:43 am Post subject: |
|
|
Centurion
Joined: 05 Aug 2004 Posts: 105 Location: San Diego
|
Don't know how much of an impact this will have but it may actually be the SYSTEM.ADMIN.SVRCONN channel that is making the connect attempt and failing because of the firewall rules. The CLUSSDR channel shows a connect and active status in the MQ Explorer. As of this morning the port ranges that were being attempted now range from 1100 to ~4999. That is an extremely broad range for a service to bounce around when attempting to make a connection (as a default setting).
Will check into the information you all have provided. Thanks. Any other hints, tips or tricks would be appreciated.
Would hate to have to fix the ports as that seems to defeat a part of the resiliancy aspect of the Cluster. |
|
Back to top |
|
 |
hguapluas |
Posted: Wed Nov 10, 2004 7:50 am Post subject: |
|
|
Centurion
Joined: 05 Aug 2004 Posts: 105 Location: San Diego
|
Nigelg wrote: |
You might want to look at IY56641 (in CSD08) if the CLUSSDR is manually defined, i.e. it is a channel to a full repository.
|
Is IY56641 available in stand-alone form on the IBM site? I would prefer to not implement CSD08 now. Have not had a chance to put it on a test system and check it.
---
Disregard this post. Found my answer by "looking" for it, duh!
Last edited by hguapluas on Wed Nov 10, 2004 8:36 am; edited 1 time in total |
|
Back to top |
|
 |
hguapluas |
Posted: Wed Nov 10, 2004 8:34 am Post subject: |
|
|
Centurion
Joined: 05 Aug 2004 Posts: 105 Location: San Diego
|
Question on LOCLADDR:
Since my CLUSSDR and CLUSRCVR channels were created when the cluster was created, should I just do an ALTER CHANNEL on them? Or should I first try to do this on the SYSTEM.ADMIN.SRVCONN channel? I will be having other QMs joining the cluster later on and only want to have to do this fix once and have it work for all future connects.
Then, if I do use alt chan, should I apply it to both CLUSSDR and CLUSRCVR to avoid the issues noted in IY56641 since the range will now be defined on both the SDR and RCVR channels? I do not intend to go to CSD08 now or in the near future unless there is an absolute overriding reason to do so. Need to fully test it on our test box first.
Oh what a pain firewalls can be (at the worst of times)!!! |
|
Back to top |
|
 |
hguapluas |
Posted: Wed Nov 10, 2004 9:30 am Post subject: |
|
|
Centurion
Joined: 05 Aug 2004 Posts: 105 Location: San Diego
|
When attempting to alter the channel, I cannot get the LOCLADDR to accept a port range. It seems to only accept a single port. Can you check my command below and verify if it is correct?
ALTER CHANNEL(TO_QM_ANYQUEUE) CHLTYPE(CLUSSDR) LOCLADDR(11000,11999)
This should supposedly set the range of the Cluster Sender to any port in range 11000-11999. But it is not working. Doesn't like anything from the "," (comma) to the end. According to the MQSC, this should be correct, or am I missing something? |
|
Back to top |
|
 |
rtsujimoto |
Posted: Wed Nov 10, 2004 11:10 am Post subject: |
|
|
Centurion
Joined: 16 Jun 2004 Posts: 119 Location: Lake Success, NY
|
The doc shows:
LOCLADDR([ip-addr][(low-port[,high-port])])
Given that, try LOCLADDR((11000,11999)) |
|
Back to top |
|
 |
hguapluas |
Posted: Wed Nov 10, 2004 12:05 pm Post subject: |
|
|
Centurion
Joined: 05 Aug 2004 Posts: 105 Location: San Diego
|
Tried that and several other combinations including adding an IP address and port range. Command doesn't want to take anything beyond the "," as valid input.
Also, does anybody know how to reset this back to it's default value (a null field)? Short of deleting the channel and recreating it, I can't figure out how to restore the default value for LOCLADDR. There are no docs that I've found on how to do this. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Wed Nov 10, 2004 3:49 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
It doesn't hurt to have the LOCLADDR attribute set on both the CLUSSNDR and CLUSRCVR. Just remember if QM1 has its CLUSRCVR LOCLADDER set to say 5000 thru 6000, every QM that ever creates an auto CLUSSNDR channel to QM1 better have ports 5000-6000 open.
This attribute does not apply for SVRCONN channels. They don't send out channels on a range of ports, they only listen for incoming requests on the QM's Listener port.
Read the MQSC manual for the way to change the channel. Try wrapping the value in " " if it is choking at the first comma. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
rtsujimoto |
Posted: Thu Nov 11, 2004 12:52 pm Post subject: |
|
|
Centurion
Joined: 16 Jun 2004 Posts: 119 Location: Lake Success, NY
|
Peter was close. I used single quotes, e.g. LOCLADD('(50000,59999)') and that worked. |
|
Back to top |
|
 |
Nigelg |
Posted: Fri Nov 12, 2004 1:22 am Post subject: |
|
|
Grand Master
Joined: 02 Aug 2004 Posts: 1046
|
|
Back to top |
|
 |
hguapluas |
Posted: Wed Nov 17, 2004 7:33 am Post subject: |
|
|
Centurion
Joined: 05 Aug 2004 Posts: 105 Location: San Diego
|
Thanks. The single quote worked. Would have been nice if they had documented that in the MQSC manual. |
|
Back to top |
|
 |
Nigelg |
Posted: Thu Nov 18, 2004 12:44 am Post subject: |
|
|
Grand Master
Joined: 02 Aug 2004 Posts: 1046
|
It is documented in the MQSC manual on the very first page, Ch 1, Rules for using MQSC commands:
Quote: |
Strings that contain blanks, lowercase characters or special characters other than:
Period (.)
Forward slash (/)
Underscore (_)
Percent sign (%)
must be enclosed in single quotation marks...
|
Try reading the manual before complaining. |
|
Back to top |
|
 |
hguapluas |
Posted: Thu Nov 18, 2004 7:44 am Post subject: |
|
|
Centurion
Joined: 05 Aug 2004 Posts: 105 Location: San Diego
|
I did but glossed over/forgot about that. If we all had perfect memories, maybe we could remember everything but we don't. I've read so much that I can't remember it all, neither can you or anybody else. |
|
Back to top |
|
 |
|