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 check here – 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. There are multiple ways to access Node Manager
From Administration Console : Environments -> Machines -> Configuration -> Node Manager
JMX utilities (Java Management eXtension) more here
WLST commands (WebLogic Scripting Tool)

4.Default port on which node manager listen for requests is localhost:5556, When you configure Node Manager to accept commands from remote systems, you must uninstall the default Node Manager service, then reinstall it to listen on a non-localhost (IP’s other than 127.0.0.1) listen address.

5. Any domain created before creation of Node Manager Service will not be accessible via node Manager(even after restarting node manager), solution is to run the WLST command “nmEnroll” to enroll that domain with the Node Manager.

6. 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 ?

1.Configure each computer (on which you wish to use Node Manager) as a Machine in WebLogic Server
Environments -> Machines -> New (Add Machine) Use Link here
Environments -> Machines -> Machine Name (created above) -> Configuration -> Node Manager

2. Assign each server instance (Admin or Managed that you wish to control with Node Manager) to Machine.
Environments -> Machines -> Machine Name (created above) -> Configuration -> Servers -> Add (Add Server running on this node which you would like to monitor using Node Manager) for more info Click here

3. Enroll domain (created before installation of Node Manager) to Node Manager

Windows
cd $BEA_HOME\user_projects\domains\<domain_name>\bin
setDomainEnv.cmd
java weblogic.WLST
wls> connect(‘weblogic’,’weblogic’, ‘t3://mymachine.mydomain:7001’)
wls> nmEnroll(‘C:\bea\user_projects\domains/<domainName>’, ‘C:\bea\wlserver_<version>/common/nodemanager’)

.
Unix /Linux
cd $BEA_HOME/user_projects/domains/<domain_name>/bin/
. setDomainEnv.sh
java weblogic.WLST
wls> connect(‘weblogic’,’weblogic’, ‘t3://mymachine.mydomain:7001’)
wls> nmEnroll(‘$BEA_HOME/user_projects/domains/<domain_name>’, ‘$BEA_HOME/wlserver_<version>/common/nodemanager’)

where “mymachine.mydomain:7001” is the reference to the Admin Server of the domain to which the server and machine definition belongs

.
How to start Node Manager ?

$WL_HOME\server\bin\startNodeManager.sh  (startNodeManager.cmd on Windows)

How to install Node Manager as Service on Windows ?

Use $WLS_HOME\server\bin\installNodeMgrSvc.cmd  (Where default WLS_HOME location is c:\bea\wlserver_<version>)

To uninstall Node Manager Service on windows use $WLS_HOME\server\bin\uninstallNodeMgrSvc.cmd

installNodeMgrSvc.cmd will create Windows server with name as Oracle WebLogic NodeManager (C_bea_wlserver_<version>)
.
Important Configuration files

— $WL_HOME/common/nodemanager/ nodemanager.properties, nodemanager.domains, nm_data.properties

–$DOMAIN_HOME/config/nodemanager/nm_password.properties

–$DOMAIN_HOME/servers/<server_name>/data/nodemanager/ boot.properties, startup.properties, server_name.addr, server_name.lck, server_name.pid, server_name.state

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

References

 

Learn Oracle Weblogic Server Administration

 

Get 100 USD OFF + 100% Money Back Guarantee

Click here to get Early Bird Discounts

Share This Post with Your Friends over Social Media!

About the Author Atul Kumar

Oracle ACE, Author, Speaker and Founder of K21 Technologies & K21 Academy : Specialising in Design, Implement, and Trainings.

follow me on:

Leave a Comment:

9 comments
Yury Velikanov says June 11, 2009

Hi Atul,

As you have heard Oracle going to launch “Oracle Fusion Middleware 11g” by July 1. This going to be a result of 1 year development efforts on producing common AS solution to be used by all Fusion Middleware stack.

What do you think Oracle going to do in AS management area? I can think about several ways:
– Drop WebLogic management software and keep using OPMN main component.
– Use WebLogic’s management framework
– Try to combine both thinks together

I tend to think that Oracle will keep OPMN as the management framework as it isn’t used in AS products only today. It is build-in Standalone, Database RAC, etc.

What do you think?
Thank you in advance,
Yury

Reply
ramesh says October 26, 2010

The fifth statement is wrong

5. Any domain created before creation of Node Manager Service will not be accessible via node Manager(even after restarting node manager), solution is to run the WLST command “nmEnroll” to enroll that domain with the Node Manager

Reply
Atul Kumar says October 26, 2010

@ Ramesh,
Thanks for highlighting this. Could you please update if “nmEnroll” is not mandatory then how an existing Node Manager will come to know about newly created domain ?

Any link to documentation which explains this will help.

Reply
Thiru says April 7, 2012

Hi Atul,

Before asking my doubt, i want thank you for your post related to node manager.

Overview of my domain architecture:
1] My domain contain one admin server and 8 managed servers.
2] My admin server and managed server listening address and ports:
Admin -> 10.9.41.52:7001
Ms1 -> 10.9.22.32:7003
Ms2 -> 10.9.22.32:7004
Ms3 -> 10.9.22.32:7006
Ms4 -> 10.9.22.32:7007
Ms5 -> 10.9.22.32:7008
Ms6 -> 10.9.22.32:7009
Ms7 -> 10.9.22.32:7010
Ms8 -> 10.9.22.32:7011
3] All managed servers are grouped under single cluster(Cluster 1).
4] And I configured a new machine which holds one node-manager(nm):
Listening address of nm -> 10.9.22.32:5556
5] This machine holds 2 of the above managed servers(Ms2,Ms8).

Doubt:

1] Once a done with the configuration of all, i started my node manager in the above mentioned listening address.It’s started successfully. But servers are very slow.
2] I am unable to access the domains->server tab.It’s loading always.

What went wrong in the configuration?
1] I am using WL version 10.3 and I’m using jdk not jrockit.
2] Java Version:
java version “1.6.0_26”
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

Thanks in advance atul.

Reply
Thiru says April 7, 2012

Or else my node manager is now using remote listening address, so am i want to uninstall the default node manager and need install it again?
(As you mentioned in Step 4(Above Post))..

Reply
Atul Kumar says April 7, 2012

@ Thiru,

Machine has nothing to do with accessing application. Machine and Node Manager is used during startup from console.

Regarding your issue : I am unable to access the domains->server tab.It’s loading always.

This could be because of memory issue. It looks like there is not enough memory on server to support 8 managed servers. Stop all managed servers and start just admin. Then access admin console and see if that works.

Reply
Thiru says April 9, 2012

Thanks atul!!

Reply
vivbrock04 says May 23, 2012

I want to perform two operations through shell script

can ny one help me out
1.) ls(‘AppDeployments)
2.) stopApp(‘App_Name’)
this two above operation i have to perfom in single shell script file means through *.sh
in unix
firstly i want to display all the deployed applications on the server and the n staop one perticular application from that.
can ny one provide mete the shell script for that.

Reply
kerberos5 says October 4, 2012

Hi, i have a problem with my weblogic domain… i have create a cluster domain following your guide, everything works perfectly… but i use weblogic 10.3.0.0 with patch for eclipselink patch_wls1030 applied on each machines of the cluster, the first machine where the AdminServer is instance1 work, but the other machine with Instance2 not work! What can I do?
my log:

<Stack trace for me
ssage 149004
weblogic.application.ModuleException: Exception preparing module: EJBModule(DL-I
MA-DSB-Core_1.0.jar)

at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:452)

at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(Modu
leListenerInvoker.java:93)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(Depl
oymentCallbackFlow.java:387)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
river.java:37)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(Dep
loymentCallbackFlow.java:58)
Truncated. see log file for complete stacktrace
weblogic.deployment.EnvironmentException: Error processing persitence unit DL_DS
B_EM of module DL-IMA-DSB-Core_1.0.jar: Error instantiating the Persistence Prov
ider class org.eclipse.persistence.jpa.PersistenceProvider of the PersistenceUni
t DL_DSB_EM: java.lang.ClassNotFoundException: org.eclipse.persistence.jpa.Persi
stenceProvider
at weblogic.deployment.PersistenceUnitInfoImpl.createEntityManagerFactor
y(PersistenceUnitInfoImpl.java:322)
at weblogic.deployment.PersistenceUnitInfoImpl.(PersistenceUnitInf
oImpl.java:123)
at weblogic.deployment.AbstractPersistenceUnitRegistry.storeDescriptors(
AbstractPersistenceUnitRegistry.java:331)
at weblogic.deployment.AbstractPersistenceUnitRegistry.loadPersistenceDe
scriptor(AbstractPersistenceUnitRegistry.java:245)
at weblogic.deployment.ModulePersistenceUnitRegistry.(ModulePersis
tenceUnitRegistry.java:63)
Truncated. see log file for complete stacktrace
>
<Console encountered t
he following error weblogic.application.ModuleException: Exception preparing mod
ule: EJBModule(DL-IMA-DSB-Core_1.0.jar)

at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:452)

at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(Modu
leListenerInvoker.java:93)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(Depl
oymentCallbackFlow.java:387)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
river.java:37)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(Dep
loymentCallbackFlow.java:58)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(Dep
loymentCallbackFlow.java:42)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.ja
va:615)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
river.java:37)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.j
ava:191)
at weblogic.application.internal.EarDeployment.prepare(EarDeployment.jav
a:16)
at weblogic.application.internal.DeploymentStateChecker.prepare(Deployme
ntStateChecker.java:155)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(App
ContainerInvoker.java:60)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.cr
eateAndPrepareContainer(ActivateOperation.java:197)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.do
Prepare(ActivateOperation.java:89)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.pr
epare(AbstractOperation.java:217)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploym
entPrepare(DeploymentManager.java:723)
at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploy
mentList(DeploymentManager.java:1190)
at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare
(DeploymentManager.java:248)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.pre
pare(DeploymentServiceDispatcher.java:159)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
ackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
ackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
ackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
gWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: weblogic.deployment.EnvironmentException: Error processing persitence
unit DL_DSB_EM of module DL-IMA-DSB-Core_1.0.jar: Error instantiating the Persi
stence Provider class org.eclipse.persistence.jpa.PersistenceProvider of the Per
sistenceUnit DL_DSB_EM: java.lang.ClassNotFoundException: org.eclipse.persistenc
e.jpa.PersistenceProvider
at weblogic.deployment.PersistenceUnitInfoImpl.createEntityManagerFactor
y(PersistenceUnitInfoImpl.java:322)
at weblogic.deployment.PersistenceUnitInfoImpl.(PersistenceUnitInf
oImpl.java:123)
at weblogic.deployment.AbstractPersistenceUnitRegistry.storeDescriptors(
AbstractPersistenceUnitRegistry.java:331)
at weblogic.deployment.AbstractPersistenceUnitRegistry.loadPersistenceDe
scriptor(AbstractPersistenceUnitRegistry.java:245)
at weblogic.deployment.ModulePersistenceUnitRegistry.(ModulePersis
tenceUnitRegistry.java:63)
at weblogic.ejb.container.deployer.EJBModule.setupPersistenceUnitRegistr
y(EJBModule.java:209)
at weblogic.ejb.container.deployer.EJBModule$1.execute(EJBModule.java:31
0)
at weblogic.deployment.PersistenceUnitRegistryInitializer.setupPersisten
ceUnitRegistries(PersistenceUnitRegistryInitializer.java:62)
at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:376)

>

Reply
Add Your Reply