The Managed Servers in a production WebLogic Server environment are often distributed across multiple machines and geographic locations.

Node Manager is a stand-alone Java utility, provided with WebLogic Server, that allows you to perform common operations tasks for a Managed Server, regardless of its location with respect to its Administration Server. If you run Node Manager on a machine that hosts Managed Servers, you can start and stop the Managed Servers remotely. Node Manager can also automatically restart a Managed Server after an unexpected failure.

The following sections describe Node Manager, its capabilities, and how it fits into a WebLogic Server environment.

Automatically restart Managed Servers that have the "failed" health state, or have shut down unexpectedly due to a system crash or reboot.

Node Manager Architecture and Environment

Figure 3-1 illustrates how Node Manager works with other resources in your WebLogic Server environment to start, stop, and restart Managed Servers.

Figure 3-1 Node Manager Architecture

Node Manager Runs on Machines that Host Managed Servers

To take advantage of Node Manager capabilities, you must run a Node Manager process on each machine that hosts Managed Servers. You can manage multiple Managed Servers on a single machine with one Node Manager process—in Figure 3-1, the two Managed Servers on Machine C can be controlled by a single Node Manager process.

You cannot use Node Manager to start or stop an Administration Server. In a production environment, there is no need to run Node Manager on a machine that runs an Administration Server, unless that machine also runs Managed Servers. In a development environment, you may wish to run Node Manager on a machine that hosts an Administration Server and one or more Managed Servers, because doing so allows you to start and stop the Managed Servers using the Administration Console.

Node Manager Should Run as a Service

The WebLogic Server installation process installs Node Manager to run as a daemon on UNIX machines or as a Windows service on Windows-based machines. A key Node Manager feature is the ability to restart Managed Servers after a failure. If the failure is a machine crash, running Node Manager as a service ensures that Node Manager starts up automatically when the machine reboots, and is available to restart Managed Servers on that machine.

Node Manager is Domain-Independent

A Node Manager process is not associated with a specific WebLogic domain. Node Manager resides outside the scope of a domain, and you can use a single Node Manager process to start Managed Servers in any WebLogic Server domain that it can access—in Figure 3-1, Managed Server 2 and Managed Server 3 could be in separate domains, and controlled by a single Node Manager process.

Node Manager Clients

You can invoke Node Manager's capabilities using the WebLogic Server Administration Console or JMX clients such as the weblogic.Admin command-line utility. Typically, Node Manager is called by an Administration Server on a remote machine. However, Node Manager can be called by local Administration Server as well—allowing you to issue commands to co-resident Managed Servers using the Administration Console.

Node Manager Uses SSL

Communication between Node Manager and Managed Servers, Administration Servers, or other clients requires two-way Secure Socket Layer (SSL) protocol, which provides authentication and encryption. Node Manager uses two-way SSL to verify the identity of Managed Servers that communicate with it. You cannot use Node Manager features with an unsecured communication protocol.

For other UNIX and Linux operating Systems, you must disable the weblogic.nodemanager.nativeVersionEnabled option at the command line when starting Node Manager to use the pure Java version. For more information. See Node Manager Properties.

Native Node Manager is not supported on Open VMS, OS/390, AS400, UnixWare, or Tru64 UNIX.

Node Manager Capabilities

The following sections describe Node Manager functionality.

Start Managed Servers

Client requests to start a Managed Server using Node Manager are issued to the Administration Server for the domain that contains the Managed Server. The Administration Server dispatches the start command to the Node Manager process on the machine that hosts the target Managed Server. Node Manager forwards the start request to the target Managed Server for execution. If the Managed Server does not respond within 60 seconds, the Node Manager sets the state of the Managed Server to UNKNOWN. Node Manager does not retry the start command. If the Managed Server successfully starts and establishes a connection with Node Manager, the state of the Managed Server is updated appropriately.

Node Manager starts a Managed Server in its last runtime state, rather than in the startup mode configured for the server instance. The startup mode for a server instance is configured on the Server—>Configuration—>General tab; by default, the startup mode is RUNNING. Node Manager does not refer to this attribute value when starting a Managed Server.

When Node Manager starts a Managed Server, it uses the startup arguments configured for the Managed Server in the Server—>Configuration—>Remote Start tab.

Note: Node Manager uses the same command arguments that you supply when starting a Managed Server using a script or at the command line. For information about startup arguments, see "weblogic.Server Command-Line Reference" in WebLogic Server Command Reference.

If you do not specify startup arguments for a Managed Server in its Remote Start tab, Node Manager uses its own properties as defaults to start the Managed Server. (See Node Manager Properties.) Although the Node Manager property values may suffice to boot a Managed Server, to ensure a consistent and reliable boot process, you should configure startup arguments for each Managed Server.

Node Manager starts a Managed Server in a dedicated process on the target machine, separate from the Node Manager and Administration Server processes, in the same directory where the Node Manager process is running.

The messages that would otherwise be output to STDOUT or STDERROR when starting a Managed Server are instead displayed in the Administration Console and written to the Node Manager log file for that server instance. For more information, see Managed Server Log Files.

Suspend or Stop Managed Servers

Client requests to stop or suspend a Managed Server using Node Manager are issued to the Administration Server for the domain that contains the Managed Server. The Administration Server dispatches the command directly to the target Managed Server. If the Administration Server cannot reach the target Managed Server, the command is dispatched to the Node Manager process running on the target Managed Server's machine. The Node Manager forwards the request to the target Managed Server for execution. If the Managed Server fails to respond to a shutdown request from the Node Manager, the Node Manager process itself performs the shutdown.

Shutdown Failed Managed Servers

Node Manager periodically checks the self-reported heath status of Managed Servers that it has started. (For information about how a Managed Server monitors its health, see Server Self-Health Monitoring.) By default, Node Manager issues a health query to a Managed Server every 180 seconds.

Node Manager will automatically kill a Managed Server that reports its health state as "failed", if the Managed Server's Auto Kill If Failed attribute is true. By default, the Auto Kill If Failed attribute is false. If you want Node Manager to restart a Managed Server that is hung, set Auto Kill If Failed to true.

If a Managed Server does not respond to three consecutive health queries in a row, Node Manager considers the Managed Server to be "failed", and shuts it down, if Auto Kill If Failed is set.

By default, Node Manager automatically restarts Managed Server that have crashed, and Managed Servers that it killed because their health state was "failed".

By default, Node Manager will restart a Managed Server no more than 2 times within a one hour period. You can configure how many times Node Manager will restart a Managed Servers it controls, and the period of time over which it will do the restarts. For instructions, see Configure Monitoring, Shutdown and Restart for Managed Servers.

Note: If you stop a Node Manager process that is currently monitoring Managed Servers, do not shut down those Managed Servers while the Node Manager process is shut down. Node Manager will be unaware of shutdowns performed on Managed Servers while it was down. When Node Manager is restarted, if a Managed Server it was previously monitoring is not running, it will automatically restart it.

A Node Manager process can automatically monitor, shutdown, and restart only those Managed Servers that it started. It cannot provide these services for Managed Servers booted directly from the command line.

If the event that caused a Manager Server to fail also causes Node Manager to fail, the Node Manager process on the machine where the Managed Server runs must be restarted, either by the operating system or manually, to be available to restart the failed Managed Server.