Thursday, November 20, 2014

Weblogic -- HACMP Configuration, IP Address Change

I have done several Oracle implementations in AIX environments. From the Oracle's perspective , the technical work in AIX implementations are similar to the Oracle on Linux implementations. Ofcourse there are some differencse like using a different Package manager, and  executing different commands ,which effect our implementations.
On the other hand , these differences are not as big as a Senior Linux admin cant handle.
Even clustering in AIX is as so similar. I m talking about HACMP here.

As you may know; HACMP(High Availability Cluster Multiprocessing) is IBM's solution for high availability. It can be used on the AIX and IBM System p Linux.
Without any other clustering software like Weblogic clustering or Oracle Rac, Active/passive OID cluster can be build on top of  IBM HACMP Cluster..
The key point in here is the service ip used by the HACMP cluster nodes.. By using the service ip, applications and databases can run on all the nodes of the cluster in case of failover, without any problem , without any manual intervention.
Ofcourse, some of the big companies like the companies in Banking sector use HACMP for High Availability, and they expect our Oracle products to be HACMP aware.. They actually expect Oracle products to work/start without a need for reconfiguration even after a Node switch operation.
I have done this type of configuration for Oracle Database, OID 11g, SSO 10g and so on, but this time I will explain the behaviour of a pure Weblogic in this kind of HACMP node switch situation.

Normally, OID 11g , SSO and other we need to make configurations right. Take OID 11 as an example, it is working on its own Weblogic but it has components still controlled with opmn, that 's why extra effort is required to configure OID 11g to work with HACMP. The configuration is required to make an application like OID to start on a new node when a cluster node switch occurs. Once this configuration is done , Weblogic OID services can be started up in the new node without any need for reconfiguration .
Following action plan is good example for such a configuration;

1)Login to weblogic application console> Add a new machine with listen address updated to service-hostname>relate Admin Server and wls_ods1 managed server with this machine.
2)In Weblogic administration console change the listen addresses set for the Admin server and wls_ods1 managed server to the service-hostname.
3) Change the component registration setting in opmn with the following;
$ORACLE_INSTANCE/bin/opmnctl updatecomponentregistration -adminHost localhost -host <SERVICE-HOSTNAME> -adminPort 7002 -adminUsername weblogic -componentType OID -componentName oid1 -Port 3060 -Sport 3131
4)Use manage DIPServerConfigmanage to set DIPServer oidhostport to the service-hostname:port
For example: manageDIPServerConfig set -h localhost -p 7006 -D weblogic -attr oidhostport -value <SERVICE-HOSTNAME>:3060
5) Change all the hostnames declared in $DOMAIN_HOME/opmn/toplogy.xml to reflect the service-hostname
6)Look into start/stop scripts, change the hostname if declared any.

On the other hand; for a standalone Weblogic which may provide an Application Server environment for an ADF application , there is no effort needed to make it Cluster aware.

In Application server like Weblogic , the cluster awereness is supplied through the cluster service-name or cluster service ip.. So, when your application server and its services use service-name , actually when they listen on the service name, or let's say when they bind to the service name, they become cluster aware.. I mean when a node switch occurs, they may be started on the new node without a need for a reconfiguration.. It is because this service-name and its interface is present on all of the nodes in a cluster.

 When we talk about a pure weblogic, we said that there is no need to make any configuration to support this.

Okay. Lets prove it..

When you execute netstat to see the address of the admin server's port, or to see the address of the managed server's port on a Weblogic Server which is running on a AIX, you will see that; Weblogic listens on all of the available ip addresses on a  machine..

Following is an example of a Weblogic which listen on all the available ip addresses on a AIX machine, which is a member of a HACMP cluster...

local ip, service ip and localhost...

Admin Server is listening on all the available ip addresses.

tcp        0      0       *.*                    LISTEN
tcp        0      0       *.*                    LISTEN
tcp        0      0         *.*                    LISTEN

Managed Server is listening on all the available ip addresses.

tcp        0      0       *.*                    LISTEN
tcp        0      0       *.*                    LISTEN
tcp        0      0         *.*                    LISTEN

So, as the Weblogic listens on all available addresses, it also listens on the service ip..
Thus we dont need to reconfigure our Weblogic Server to be cluster awarer, it is already cluster aware :)
This behaviour of weblogic is actually caused by not specifying a Listen address in both Admin Server's and Managed Server's configuration..

Weblogic Server MBEAN Reference:

If a server's listen address is undefined, 
clients can reach the server through an IP address of the computer that hosts the server, 
a DNS name that resolves to the host, or the localhost string. 
The localhost string can be used only for requests from clients that running on the same computer as the server.

So based on this info; a pure weblogic works compatible with the HACMP cluster.
Nevertheless we may want to  configure both Admin Server and Managed Server to listen on service ip address only.
This can be accomplished by modifiying the config.xml or using Weblogic console... 
On the other hand; I dont see any need for this :)

1 comment :

  1. I need assistance in HACMP Configuration, IP Address Change for WLS in my WebLogic training Hyderabad your post helps me in great on doing this.thank you.