Author |
Message
|
kash3338 |
Posted: Sun Nov 12, 2017 11:56 pm Post subject: Shared-Classes in a Active-Active HA environment |
|
|
Shaman
Joined: 08 Feb 2009 Posts: 709 Location: Chennai, India
|
Hello all,
We have a Active-Active IIB v9.0.0.6 HA environment. We have some JAR files used from Message Flows to be placed in "shared-classes" directory. If we place the JAR files in the Broker specific "shared-classes" in respective Broker servers, then there is a problem during failover (as the failed over Broker will not be able to locate the "shared-classes" directory").
Hence we are planning to place the JAR files in the shared directory in NFS server (MQHA/Shared). How d we achieve this? I guess we should be setting the Broker to use "Shared Work Path" instead of "Work path" location, but how do we set this property and is this the correct approach for such a scenario? |
|
Back to top |
|
 |
zpat |
Posted: Mon Nov 13, 2017 12:09 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
You can set the broker wide shared class location, using mqsichangeproperties
It's also possible to set a shared class location at the EG level. I quite like using symlinks in place of the EG level shared class directory.
/var/mqsi/config/<brokername>/<EGname>/shared-classes _________________ Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error. |
|
Back to top |
|
 |
kash3338 |
Posted: Mon Nov 13, 2017 12:36 am Post subject: |
|
|
Shaman
Joined: 08 Feb 2009 Posts: 709 Location: Chennai, India
|
zpat wrote: |
You can set the broker wide shared class location, using mqsichangeproperties
It's also possible to set a shared class location at the EG level. I quite like using symlinks in place of the EG level shared class directory.
/var/mqsi/config/<brokername>/<EGname>/shared-classes |
The problem in setting at Broker level or Execution Group level is, during failover, the Broker will be failed over to other server where it will not find the path specified and hence will fail.
That is the reason I have asked for other options to set at Shared Path. |
|
Back to top |
|
 |
zpat |
Posted: Mon Nov 13, 2017 1:29 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
You are not following what I assumed was the obvious part, which is that the symlink (or the path set) would redirect to the shared storage location.
Clearly whatever path is used must be mounted before and after failover of the active node.
You do not have to use a local filesystem to hold the shared classes. _________________ Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error. |
|
Back to top |
|
 |
abhi_thri |
Posted: Mon Nov 13, 2017 1:30 am Post subject: |
|
|
 Knight
Joined: 17 Jul 2017 Posts: 516 Location: UK
|
Hi Kash...your approach looks fine, we got an active/passive configuration here which uses a shared work path but do not jar files though, our nodes uses
Work path = '/var/mqsi'
Shared Work Path = '/HA/<nodename>/mqsi'
jars are still configured at /var/mqsi/shared-classes on both nodes (jars don't change much here) but having the shared-classes at shared worth should work fine.
I think you can only specify value for shared worth path while creating the broker (see mqsicreatebroker), mqsichangebroker do not support changing it...hope this helps. |
|
Back to top |
|
 |
kash3338 |
Posted: Mon Nov 13, 2017 1:39 am Post subject: |
|
|
Shaman
Joined: 08 Feb 2009 Posts: 709 Location: Chennai, India
|
zpat wrote: |
You are not following what I assumed was the obvious part, which is that the symlink (or the path set) would redirect to the shared storage location.
Clearly whatever path is used must be mounted before and after failover of the active node.
You do not have to use a local filesystem to hold the shared classes. |
Thanks. I missed the Symlink part in your first reply. I have also seen one more property called "Shared Work Path". Will that be of any help? There is a way to change the path using mqsiaddbrokerinstance |
|
Back to top |
|
 |
|