This content has been marked as final. Show 17 replies
It is not mandatory to have the NodeManager for Horizontal Clustering. If you dont want to use NodeManager then do the following for Horizontal Clustering:
1.. Create 2-3 Managed Servers from AdminConsole. Suppose 3 Managed Servers MS1,MS2,MS3 …which u want to run on 3 Different Physical Boxes.
2.. Install WebLogic and JDK exactly same Identical Locations in the Managed Server Boxes as well… sothat the JAVA_HOME and WL_HOME and BEA_HOME directories will be same in all the Physical Boxes.
3.. Now Use the “pack/unpack” BEA utility to make the domain zip
if you use ”Pack/Unpack” weblogic utility to do this. By doing this you can ensure that you will never get invalid (domain salt file not found) Or Many Security & SSL Handshake related errors kind of error while starting your ManagedServer remotely. (for detail of Pack/Unpack commands)
4.. Now Whenever u want to start the Managed Servers go inside the “<DOMAIN_HOME>\bin” and then run the “startManagedWebLogic.sh” like folowing
If you want to use Nodemanager in this case then go with nmEnroll option to enroll your machine.
Open a Shell/command prompt in Box-B and then run setWLSEnv.sh/setWLSEnv.cmd
Then Enroll the Nodemanager using WLST command…
Syntax: nmEnroll([domainDir], [nmHome])
Above command will Enroll the Nodemanager of Box-B in Domain (MyDomainOne) created in Box-A
--> Start Nodemanager in Box-B
--> Login to AdminConsole of Box-A and then check that the Machine-2 Nodemanager is showing “reachable” or “incative”…Ideally Now it should be ‘Reachable’
--> Login to AdminConsole and Now Create a Cluster and add these both Managed Servers In that Cluster.
--> Now start Both Managed Servers through AdminConsole.
Hope this is clear if you have any further query please let me know.
I have no problem using node manager but the thing is .. I am using 2 machines with different OS. Now how could i manage the same directory over them. as on solaris i have the domain at /bea/wls/wls10.3.3/userdomain .. Now how could i create such directory in windows. this is what i am facing.. Please suggest,
First of all you cannot have a Cluster with managed servers spread on remote machines with different OS. This will not work.
Its very simple. Say in your case itself, you created a cluster domain with 2 managed servers in Linux OS. Just open config.xml file and look at the paths for any modules and it will be in unix folder path way. Under your domain root folder/bin look at any setDomainEnv or setSOADomainEnv files, all the commands are in unix commands. Infact you may not even find .cmd files. NOW when you run unpack command on Windows OS machine, I doubt if it creates a pseudo domain at all and have .cmd commands and config.xml file with windows path structure. Even if it does, still it may not work and may not be supported also.
Managed servers do not have anything by themselves. Everytime you start managed server, it get a copy of config.xml file and files from bin folder from admin server to your managed server. Now if they are on different OS, this may not work. It may not give errors, but you may run into issues.
AFAIK, one simple thumb rule is, for a Clustered Domain with Managed Servers across different remote machines, you should have EXACTLY same version of Weblogic Server and same folder structure for installation. This is totally not possible across 2 different OS.
Node manager don't even come into picture in your case. Now, if you have 2 managed servers on same OS, then yes, you may have Node Manager on different OS. I did not tried this. Node manager is just another simple custom java application from BEA Weblogic. This is used to centrally control all the servers from one single point. That's it. So if you tweak command files and config files, you may have Node manager in one OS controlling servers on different OS.
If you two machine are of different Architectures / OS you cannot use pack and unpack for extending the domain from one machine to two machines. This architecture is not supported also.
Also I would like to inform you that generally we recommend both the machine Architectures and OS should be same.
But there is an alternative where you can achieve you goal for now, but think of same Architecture and OS for Production or in future. I never tried this for different OS. I tried for different Architectures. Try this.
UseCase : In your case you have one linux machine and one windows machine. You would like to have 2 managed servers MG1, MG2 on linux and MG3 on windows. MG1 and MG2 are in one cluster CL1. Admin Server is located in Linux itself.
1) Install WLS in both linux and windows in the location of your choice.
In Linux create a domain namely TestDomain, during domain creation it will ask for admin server. Point the AdminServer to Linux IP. When the option comes for managed servers point MG1 and MG2 to Linux IP and ports also select MG3 and point to windows IP and port and for cluster creation create cluster CL1 and map MG1 and MG2 to CL1.
Parallely in windows also create a domain namely TestDomain, during domain creation it will ask for admin server. Point the AdminServer to Linux IP. When the option comes for managed servers point MG1 and MG2 to Linux IP and ports also select MG3 and point to windows IP and port and for cluster creation create cluster CL1 and map MG1 and MG2 to CL1.
Now in both linux and windows you have TestDomain and may be in different locations.
Now start AdminServer, MG1, MG2 in linux. Start MG3 in Windows.
In adminconsole you will see all the three managed servers.
Thanks & Regards,
Edited by: Murali Veligeti on Jul 23, 2012 8:56 PM
you can create cluster between two domains :-)
i mean create a managed server in unix and create another managed server in windows. now using MAN feature under clustering, you can clumb these two servers under cluster having two different consoles, but the concept of having clustering will work.