The Node Manager facilitates the management and control of WebLogic Server instances in a clustered environment. Its primary role is to start, stop, restart, and monitor server instances remotely. It ensures that servers remain running and can automatically restart them in case of failure, supporting high availability and fault tolerance.

Create a Node Manager Domain

Within each domain, you can configure the Node Manager. However, the most elegant approach is to create a custom domain and let the Node Manager manage all other domains. This page will guide you through the process.

Run the Configuration Wizard again (again).

$MW_HOME/oracle_common/common/bin/config.sh


Create Domain

Create a new domain and name it "nodemanager".

1-create_domain.png


Templates

Do not select anything except for the default Basic WebLogic Server Domain.

2-templates.png


Administrator Account

Select a username and password.

3-administrator_account.png


Domain Mode and JDK

Select Development mode.

4-domain_mode_and_jdk.png


Advance Configuration

Do not select anything.

5-advance_configuration.png


Configuration Summary

Click Create to continue...

6-configuration_summary.png


Configuration Progress

Click Next to continue...

7-configuration_progress.png


End of Configuration

Click Finish to complete the configuration.

8-end_of_configuration.png


Domains

Edit this file to add our "replicated" domain to Node Manager:

$MW_HOME/user_projects/domains/nodemanager/nodemanager/nodemanager.domains

#Domains and directories created by Configuration Wizard
#Mon Mar 03 02:21:04 UTC 2025
nodemanager=/opt/oracle/occas-8.1/user_projects/domains/nodemanager
replicated=/opt/oracle/occas-8.1/user_projects/domains/replicated


Properties File

Node Managed can be configured through a properties file located at:

$ORACLE_HOME/user_projects/domains/nodemanager/nodemanager/nodemanager.properties

Change the Listen Address

Change the listen address from 'localhost' to a reachable IP address. Why not listen on all addresses?

ListenAddress=0.0.0.0

Disable Start Script

In WebLogic 12.1.1 (and higher), the nodemanager has been modified to use the "startWebLogic.sh" script to launch WebLogic. I prefer the old technique because it allows creating custom startup parameters for each server.

weblogic.StartScriptEnabled=false

Disable the Secure Listener

Temporarily disable the secure listener for testing. We will re-enable it later when securing WebLogic.

SecureListener=false

Enable Crash Recovery

Should WebLogic crash, we want Node Manager to restart it.

CrashRecoveryEnabled=true


Admin Console

Now we need to make some configuration changes to the domain. The best way to do this is from the Admin Console.

Modify Servers

By default, the Replicated Domain Template creates a cluster with one admin server (AdminServer) and two engine-tier servers (engine1 and engine2).

Let's modify these servers and add a new one.

The quickest way to do this is to delete engine2 and recreate it by cloning engine1.

Let's also create an engine0 server by cloning engine1 as well. We will run engine0 on the same server as the AdminServer for testing purposes.

Now that we have 3 identical servers, change the Listen Address to the IP address that each server will use.

Create Machines

In the WebLogic Admin Console, create 'machines' to logically represent each physical server (VM or bare-metal). Assign the "Node Manager Listen Address". This will be the IP Address that the Admin Console will use to contact the node manager.

Navigate to the machine / Configuration / Node Manager.

Set the Type to Plain. (We will add security later.)

Set the Listen Address to the IP Address of the server it is running on. (It can't be "0.0.0.0".)

machine_nodemanager.png

Do that for all the machines.


Congratulations! You are now ready to move on to Startup Scripts.