Friday, February 14

Node Manager in Oracle WebLogic Server

Node Manageris Weblogic Server utility to start, stop and restartAdministration and Managed Server Instances from remote location (There are other ways as well to start/stop Weblogic – Node Manager is optional component).

1. Node Manager Process is associated with a Machine and NOT with specific Weblogic Domain (i.e. Use one node manager for multiple domains on same machine)

2. There are two versions of Node Manager - Java-based and Script-based
Java-based node manager – runs with in JVM (Java Virtual Machine) Process and more secure than script-based node manager. Configuration for java-based node manager are stored in nodemanager.properties
Script-based node manager – is available for Linux and Unix systems only and is based on shell script.

3. Access Node Manager
- From Administration Console : Environments -> Machines -> Configuration -> Node Manager

 4. Default port on which node manager listen for requests is localhost:5556, When you configure Node Manager to accept commands from remote systems.

5. Any domains created after the Node Manager Service has been installed should not have to be enrolled against the Node Manager. The Node Manager should automatically be ‘reachable‘ by the domain.
.
How to Configure Node Manager?




Log in to weblogic Admin Console
Click on Environments -> Machines tab on left hand side













Click on new tab on right hand side








Enter name of machine and select Machine OS as unix if you are on unix machine otherwise default, click ok






Now click on created machine






Select type plain, enter listen address and port 











To check status :-
Start node manager, click on  machine name, click on Monitoring -> Node Manager Status
click on node manager tab, Status should be Reachable.









How to start Node Manager ?
$WL_HOME\server\bin\startNodeManager.sh
To Stop Node Manager 
In Unix/Linux, kill the process -
kill -9 `ps -ef | grep -i nodemanager.javahome | grep -v grep | awk {'print $2'} | head -1`

Node Manager Log Files
$WL_HOME/common/nodemanager/nodemanager.log

Important configuration file for node manager
$WL_HOME/common/nodemanager/nodemanager.properties- used by java based node manager. This file is created on first time start of nodemanager (startNodeManager.sh)

$WL_HOME/common/nodemanager/nodemanager.domains - contains mappings between the names of domains managed by Node Manager and their corresponding directories.
entry like
base_domain=D:\Oracle\Middleware\user_projects\domains\base_domain
soa_domain=D:\Oracle\Middleware\user_projects\domains\soa_domain

$WL_HOME/common/nodemanager/nm_data.properties- This file stores the encryption data the Node Manager uses as asymmetric encryption key. This file is created on first time start of nodemanager (startNodeManager.sh)

$DOMAIN_HOME/config/nodemanager/nm_password.properties- This file stores the Node Manager username and password used by Admin Server to connect to Node Manager.




Why node manager is required?
 A Node Manager process is not associated with a specific WebLogic domain but with a machine. 
You can use the same Node Manager process to control server instances in any WebLogic Server domain, as long as the server instances reside on the same machine as the Node Manager process. Node Manager must run on each computer that hosts WebLogic Server instances. whether Administration Server or Managed Server that you want to control with Node Manager.

How to configure Node Manager in Weblogic.? Can please someone provide the steps for it.?
Raja Reddy 1. Start Admin server of domain which you want to enroll with node manager

2. Go to wlst prompt ( go to your_domain, run setDomainEnv and then "java weblogic.WLST")


3. Connect with admin server
connect("user","password","host:admin_port")

4. Run nmEnroll command
nmEnroll('C:/Oracle/Middleware/wlserver_10.3/common/nodemanager')

Where "C:/Oracle/Middleware/wlserver_10.3/common/nodemanager" is the node manager 
home of node manager with which you want to enroll your domain

5. Update nodemanager.domains under node manager home and add your domain path in 
same format as earlier domains path there, like below i have added domain in red

JJTU_Domain1=C\:\\Oracle\\Middleware2\\user_projects\\domains\\JJTU_Domain1
base_domain=C\:\\Oracle\\Middleware2\\user_projects\\domains\\base_domain 

6. Update node manager password ( username also if not correct there ) from admin console
( login to admin console > click on your domain name on left hand side > click on security tab 
on right hand side > click on Advance link > update node manager password ( username 
also if not correct there )

Now you can able to connect with node manager

wls:/base_domain/serverConfig> nmConnect("weblogic","weblogic123","localhost","40046","base_domain","C:/Oracle/Middleware2/user_projects/domains/base_domain","plain")
Connecting to Node Manager ...
Successfully Connected to Node Manager.



nodemanager.properties
This is the configuration file used by the Java-based version of Node Manager.
This file is located in WL_HOME/common/nodemanager.

nodemanager.hosts
This file contains a list of all the trusted hosts that can issue commands to Node Manager.
This file is located in WL_HOME/common/nodemanager.
nodemanager.domains
This file contains mappings between the names of domains managed by Node Manager and their corresponding directories. 
This file is located in WL_HOME/common/nodemanager.
nm_data.properties
This file stores the encryption data the Node Manager uses a symmetric encryption key. The data is stored in encrypted form.
This file is located in WL_HOME/common/nodemanager.
nm_password.properties
This file stores a username/password pair specific to the Node Manager server that is managing this domain. This is known as the Node Manager secret. The username and password are appended to a salt value (obtained from the SerializedSystemIni.dat of the domain) and SHA-hashed.
This file is located in DOMAIN_HOME/config/nodemanager.



2 comments:

  1. Thanks Narayan for sharing such a good information

    ReplyDelete
  2. Nice Job sir, Thanks a lot for your precious information.

    ReplyDelete