bea.com | products | dev2dev | support | askBEA

Download Docs | Site Map | Glossary
Search

Creating and Configuring WebLogic Server Domains

Managing Server Availability with Node Manager

The following sections describe how to configure and use Node Manager in a WebLogic Server domain:

- Overview of Node Manager

- Configuring Node Manager

- Starting Node Manager

- Starting and Stopping Managed Servers with Node Manager

- Troubleshooting Node Manager

Overview of Node Manager

Node Manager is a standalone Java program provided with WebLogic Server that you can use to:

- Start remote Managed Servers.

- Restart Managed Servers that have shut down unexpectedly (for example, due to a system crash, hardware reboot, or server failure).

- Automatically monitor the health of Managed Servers and restart server instances that have reached the "failed" health state.

- Shut down or force the shut down of a Managed Server that has failed to respond to a shutdown request.

Environmental Considerations

The following sections describe the environment in which you run Node Manager.

Node Manager Runs on Machines that Host Managed Servers

To use Node Manager, you must configure and run one Node Manager process on each machine that hosts Managed Servers. You can manage multiple Managed Servers that reside on a single machine with a single Node Manager process. You can also control Managed Servers in different domains with a single Node Manager process.

Node Manager Should Run as a Service

Configure Node Manager to run as a daemon on UNIX machines or as a Windows service on Windows-based machines (see Starting Node Manager as a Windows Service). This ensures that Node Manager is available after a machine reboot.

Note: You cannot use Node Manager to start or kill an Administration Server. In a production environment, there is no need run Node Manager on a machine that runs an Administration Server, unless that machine also runs Managed Servers.

Node Manager Uses SSL to Communicate with Administration Servers

Communication between Node Manager and the Administration Server requires the Secure Socket Layer protocol, which provides authentication and encryption. You cannot use Node Manager features with an unsecured communication protocol.

Native Support for Node Manager

BEA provides native Node Manager libraries for Windows, Solaris, and HP UX operating systems. For UNIX operating systems other than Solaris and HP UX, you must disable the weblogic.nodemanager.nativeVersionEnabled option at the command line when starting Node Manager. See Starting Node Manager for more information.

Node Manager Architecture

The following figure shows the Node Manager architecture for a single WebLogic Server domain.

Figure 5-1 Node Manager Architecture

Node Manager works with other processes in a WebLogic Server domain to help you start and stop Managed Servers.

Users can issue requests to start, suspend, or shut down a Managed Server using the Administration Console. These requests are dispatched by the domain's Administration Server to the Node Manager process on the machine that hosts the Managed Server.

The Administration Server can also accept programmatic requests to change the state of a Managed Server. These requests, initiated by JMX clients such as the weblogic.Admin command-line utility, are dispatched to the Node Manager process on the machine that hosts the Managed Server.

Node Manager verifies that the actions requested by the Administration Server and programmatic clients are feasible, based on locally cached information on the state of Managed Servers it previously started. After verifying incoming requests, Node Manager forwards them to the target Managed Server for execution.

The target Managed Server performs the requested operation—shutdown, suspend, or resume. If the Managed Server fails to respond to a shutdown request from the Node Manager, the Node Manager process itself performs the shutdown.

A Node Manager is not part of a particular domain. You can use a single Node Manager process to start Managed Servers in any domain that it can access.

Node Manager starts a Managed Server in a dedicated process on the target machine, separate from the Node Manager and Administration Server processes. If you start a Managed Server using Node Manager, the associated status messages that are usually printed to STDOUT or STDERROR are displayed in the Administration Console and written to the Node Manager log file for that Managed Server, as described in Managed Server Log Files.

Node Manager Capabilities

The following sections describe key Node Manager capabilities. These capabilities are subject to the requirements and limitations described in Prerequisites for Node Manager Capabilities.

Node Manager Starts and Stops Managed Servers

As described in Node Manager Architecture, requests initiated by Administration Console users or JMX clients are forwarded by the Administration Server to the Node Manager process on the machine that hosts the target Managed Server. Node Manager verifies the feasibility of each request it receives and dispatches the verified request to the target Managed Server.

Note: Node Manager always starts a Managed Server in its last runtime state, as described in Node Manager Ignores Server Startup Mode.

Node Manager Monitors Managed Servers that it Started

WebLogic Server 7.0 subsystems perform self-health monitoring. If one or more of its critical subsystems fail, a Managed Server sets its health state to "failed." Node Manager periodically checks the health state of each Managed Server that it started.

For instructions on how to control how often Node Manager checks the health state of a Managed Server, and the length of time it will wait for a response from the Managed Server, see Configure Monitoring, Shutdown and Restart for Managed Servers.

For more information about how a Managed Server monitors its health, see "Server Self-Health Monitoring".

Node Manager Can Kill Unavailable and Failed Managed Servers

Node Manager can optionally shut down a Managed Server that reports its health status as "failed" or that does not respond to a health state query. By default this behavior is disabled. For instructions on how to enable this feature, see Configure Monitoring, Shutdown and Restart for Managed Servers.

Node Manager Automatically Restarts Managed Servers

By default, Node Manager attempts to restart a Managed Server whose health state is "failed". You can:

- Disable automatic restarts. For instructions, see Configure Monitoring, Shutdown and Restart for Managed Servers.

- Configure the duration of the period during which Node Manager will attempt to restart a Managed Server, and the number of times that Node Manager will attempt to restart a Managed Server. For instructions, see Configure Monitoring, Shutdown and Restart for Managed Servers

Node Manager always starts a Managed Server in its last runtime state, as described in Node Manager Ignores Server Startup Mode.

Prerequisites for Node Manager Capabilities

Node Manager's ability to monitor the health of Managed Servers, and to automatically shutdown and restart Managed Servers is subject to these conditions:

- Server instances must be configured in accordance with the guidelines described in Determine the Server Name and Listen Address.

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

- Node Manager will restart a Managed Server automatically only if the AutoRestartEnabled attribute for the server instance is selected.

- If the event that caused a Manager Server to fail also causes Node Manager to fail, additional prerequisites for automatic restart of the failed Managed Server apply:

  - The Node Manager process on the machine where the Managed Server runs must be restarted, either by the operating system or manually.

  - The Managed Server's HostsMigratableServices attribute must be set to "false". Node Manager will not automatically restart a Managed Server whose HostsMigratableServices is "true"—the default value for the attribute. Set the value of HostsMigratableServices using serverMBean.

    If a Managed Server fails, and the failure condition did not cause Node Manager to fail as well, Node Manager does not consider the setting of HostsMigratableServices.

The following scenarios exemplify the use of HostsMigratableServices. In Example 1, the value of HostsMigratableServices is not a factor in automatic restart of the Managed Server. In Example 2, the value of HostsMigratableServices is a factor in automatic restart of the Managed Server.

- Example 1—A Managed Server, started by Node Manager, crashes, and Node Manager continues to run. In this case, the value of HostsMigratableServices is not a factor in whether or not Node Manager restarts the Managed Server. If the AutoRestartEnabled attribute for the server instance is selected, Node Manager will restart the Managed Server.

- Example 2—A machine with a running Node Manager process and a Managed Server that was started by the Node Manager is re-booted. Node Manager is set up to run as a service on the machine, and starts up automatically at re-boot. Node Manager detects that the Managed Server is not running. In this case, the value of HostsMigratableServices is a factor in whether or not Node Manager restarts the Managed Server. If the value of HostsMigratableServices is false, and the AutoRestartEnabled attribute for the server instance is selected, Node Manager will restart the Managed Server.

Node Manager Ignores Server Startup Mode

When Node Manager starts a Managed Server, either automatically or as a result of a user command or script, it does not use the startup mode configured for the server. (A Managed Server's startup mode can be specified with the -Dweblogic.management.startupMode command argument, or in the Administration Console on the Server's Configuration->General tab). Instead, Node Manager always starts a Managed Server in its last runtime state.

For example, if a Managed Server configured to start up in STANDBY mode fails while in the RUNNING state, Node Manager will automatically restart the server instance in RUNNING state (assuming Node Manager is configured to monitor the health of Managed Servers, and the prerequisites described in Prerequisites for Node Manager Capabilities are met.)

For more information on server startup mode, see "Starting and Stopping WebLogic Servers" in the Administration Guide.

Configuring Node Manager

The following tasks are required to use Node Manager in a WebLogic Server domain

- Set Up the Node Manager Hosts File

- Configure SSL for Node Manager

- Configure a Machine to Use Node Manager

- Configure Startup Arguments for Managed Servers

After you perform these tasks, you can use Node Manager, via the Administration Console to explicitly start and stop Managed Servers. By default the following behaviors will be configured:

- Automatic restart of Managed Servers is enabled. Node Manager will try up to two times within a 300 second interval to restart a Managed Server that reports its health status as "failed".

- Automatic shutdown of Managed Servers is disabled. Node Manager will not shutdown Managed Servers that it detects to be in the "failed state".

- Node Manager monitor the Managed Servers that it has started—it will check the self-reported health status of each Managed Server every 180 seconds. It will wait 60 seconds for a response from a Managed Server.

To tailor these configuration settings, follow the instructions in Configure Monitoring, Shutdown and Restart for Managed Servers

Set Up the Node Manager Hosts File

Node Manager accepts commands only from Administration Servers that reside on a trusted hosts. The trusted hosts for a Node Manager process are identified by IP address or DNS name in a file, which by default is named nodemanager.hosts and installed in the WL_HOME\common\nodemanager\config directory, where WL_HOME is the top-level installation directory for the WebLogic Server.

Note: You can specify a different name and location for the trusted hosts file using a Node Manager command-line argument. For more information, see Node Manager Command-Line Arguments.

nodemanager.hosts contains one line for each trusted host on which an Administration Server runs. By default, nodemanager.hosts file contains two entries:

>     localhost
>     127.0.0.1

To add or remove trusted hosts, edit the file with a text editor.

If you identify a trusted host by its DNS name, you must enable reverse DNS lookup when starting Node Manager. Reverse DNS lookup is enabled via the command-line argument:

>     -Dweblogic.nodemanager.reverseDnsEnabled=true

By default, reverse DNS lookup is disabled.

In a typical production environment Node Manager might not be running on the same machine as the Administration Server. Edit nodemanager.hosts to list only machines that host an Administration Server.

Configure SSL for Node Manager

Node Manager uses 2-way SSL to protect communications with Administration and Managed Servers. The configuration of SSL involves obtaining identity and trust for the Node Manager and each Administration and Managed Server with which the Node Manager will be communicating and then configuring the Node Manager, the Administration Server, and any Managed Servers with the proper identity and trust. In addition, the use of host name verification must be taken into consideration.

In WebLogic Server 7.0 and later, Node Manager uses the same certificate format and public key infrastructure used by WebLogic Server 7.0. (Prior to WebLogic Server 7.0, Node Manager used a single certificate file containing both a password-protected private key and user identity certificate.)

For general information about SSL, see "SSL: An Introduction" in Managing WebLogic Security. For instructions to configure SSL for Node Manager, see "Configuring SSL for the Node Manager" in Managing WebLogic Security.

Starting Node Manager with SSL

When you start a Node Manager process to use SSL, you must specify startup arguments that identify the keystore, password, and certificate files to use for SSL communication:

- -Dweblogic.nodemanager.keyFile—specifies the path to the encrypted key file.

- -Dweblogic.nodemanager.keyPassword—specifies the password to use if the key file is encrypted.

- -Dweblogic.nodemanager.certificateFile—specifies the path to the certificate file.

- -Dweblogic.security.SSL.trustedCAKeyStore—specifies the path to the key store that holds a private key.

- -Dweblogic.nodemanager.sslHostNameVerificationEnabled—enables or disables Administration Server hostname checks against the nodemanager.hosts file. Disable these checks only when you are using the demonstration certificates.

For example, to start Node Manager using the SSL configuration provided with the sample SSL certificate and key files:

>     java.exe -Xms32m -Xmx200m  -classpath %CLASSPATH% -Dbea.home=c:\bea
>     -Dweblogic.nodemanager.keyFile=e:\bea\user_domains\mydomain\demokey.pem
>     -Dweblogic.security.SSL.trustedCAKeyStore=e:\bea\weblogic700\server\lib\cacerts
>     -Dweblogic.nodemanager.certificateFile=e:\bea\user_domains\mydomain\democert.pem
>     -Djava.security.policy=e:\weblogic700\server\lib\weblogic.policy
>     -Dweblogic.nodemanager.sslHostNameVerificationEnabled=false weblogic.nodemanager.NodeManager

See Node Manager Command-Line Arguments for information about all Node Manager command-line arguments.

Configure a Machine to Use Node Manager

Before using Node Manager you must create a machine definition for each machine that runs a Node Manager process.

1. With the Administration Server running, invoke the Administration Console (if it isn't already running).

2. Select the Machines node in the left pane to display the machines table.

3. Select Configure a new Machine (or Configure a new UNIX Machine).

4. Enter a name for the new machine and click Create to create the new machine entry.

5. Select the new machine's Node Manager tab. Fill in connection attributes as follows:

   - Listen Address: Enter the host name or IP address where Node Manager listens for requests.

   - Listen Port: Enter the port number where Node Manager listens for requests.

6. Click Apply to apply your changes.

7. Select the new machine's Servers tab. For each Managed Server that the machine hosts, select the server instance in the Available column, and click the appropriate arrow to move the server instance to the Chosen column.

8. Click Apply to apply your changes.

Configure Startup Arguments for Managed Servers

When Node Manager starts a Managed Server, it uses startup command arguments, just as you do if you start a server instance at the Java command line or in a startup script. See "Starting and Stopping WebLogic Servers" in the Administration Guide for more information on individual arguments.

If you do not specify optional startup arguments for a Managed Server, Node Manager uses its own properties as defaults to start the server instance. Although these defaults are sufficient to boot a server, you should enter your own custom startup arguments to ensure that each server boots in a consistent and reliable manner.

To configure the startup arguments that Node Manager will use to start a Managed Server:

1. Invoke the Administration Console, if it isn't already running.

2. In the left pane, select Servers, then select the name of the server instance you want to configure.

3. In the right pane, select Configuration—>Remote Start. Edit the startup arguments as follows:

   - Java Home—Enter the full path to the Java runtime environment to use when starting this Managed Server (for example, c:\bea\jdk131).

   - BEA Home—Enter the full path to the BEA Home directory. This is the root directory under which all BEA products and licenses were installed.

   - Root Directory—Enter the root directory for the domain in which this Managed Server resides (for example, c:\bea\Weblogic7.0\samples\server\config\examples).

If you do not specify a Root Directory value, the default Node Manager work directory is used (generally WL_HOME\common\nodemanager).

- Class Path—Enter the full class path required to start the Managed Server. At a minimum you will need to specify the following values for the class path option:

  >     WL_HOME/server/lib/weblogic_sp.jar

  >     WL_HOME/server/lib/weblogic.jar

  See "Starting and Stopping WebLogic Servers" in the Administration Guide for more information about class path requirements.

- Arguments—Enter any additional arguments to pass to the JVM when starting this server. These are the first arguments appended immediately after java portion of the startup command. For example, you can set Java heap memory using the -Xms32m and -Xmx200m arguments, or you can enter debugging options for a specific application.

- Security Policy File—Enter the full path to the WebLogic security policy file (for example, c:\bea\weblogic700\server\lib\weblogic.policy).

- Username (Required)—Enter the name of a user with privileges to boot this Managed Server (for example, weblogic).

Note: In WebLogic Server version 7.0, you must enter user name and password to start a Managed Server. Managed Servers do not inherit the user name and password that you supplied to the Administration Server.

- Password (Required)—Click change... to change the password used to start the server (for example, weblogic). Type the new password in the New Password and Retype to confirm text boxes, then click Apply to apply the change.

1. Click Apply.

Configure Monitoring, Shutdown and Restart for Managed Servers

Follow these steps in this section to configure Node Manager features for:

- Monitoring Managed Servers. See Node Manager Monitors Managed Servers that it Started for a description of this feature.

- Forcing the shutdown of Managed Servers whose health state is "failed". See Node Manager Can Kill Unavailable and Failed Managed Serversf or a description of this feature.

- Restarting Managed Servers. See Node Manager Automatically Restarts Managed Servers for a description of this feature.

  Note: These features are available when the conditions described in Prerequisites for Node Manager Capabilities are met.

1. If you have not yet done so, configure the Managed Server's startup information as described in Configure Startup Arguments for Managed Servers.

2. Access the Administration Console for the domain that contains the Managed Server.

3. Select the Servers entry in the left pane, then select the name of the server you want to configure.

4. Select the Configuration->Health Monitoring tab to display the Managed Server's automatic restart and monitoring attributes.

5. To change the server's restart behavior, edit the following attributes:

   - Ensure that the Auto Restart check box in the right pane is selected.

     When Auto Restart is enabled, Node Manager will try to restart the Managed Server after failure. Deselect the check box if you do not Node Manager to automatically restart the Managed Server after failures.

   - Restart Interval: Enter the period of time for which Node Manager should attempt to restart the Managed Server. This attribute is used in conjunction with the Max Restarts within Interval attribute to limit attempts to restart this server. Enter a value between 3600 and 2147483647 seconds (default is 300 seconds).

   - Max Restarts within Interval: Enter the maximum number of times Node Manager can restart this server within the interval specified by Restart Interval above. Enter a value between 0 and 2147483647 (default is 2 restarts).

6. To configure automatic shutdown and health monitoring features and edit the following attributes:

   - Auto Kill If Failed: Check this box to enable Node Manager to automatically kill the Managed Server when its health state is "failed," or when Node Manager cannot query the Managed Server's health state. By default, this option is disabled.

   - Health Check Interval: Specify the interval (in seconds) between Node Manager health state queries to the Managed Server. Enter a value between 1 and 2147483647 seconds (default is 180 seconds).

   - Health Check Timeout: Enter the number of seconds that Node Manager will await a response to a health state query. If the timeout is reached, Node Manager assumes the Managed Server is "failed", and kills the process. Enter a value between 1 and 2147483647 seconds (default is 60 seconds).

   - Restart Delay Seconds: Enter the number of seconds that Node Manager should wait before trying to restart a Managed Server. After killing a server process, the system may need several seconds to release the TCP port(s) the server was using. If Node Manager attempts to restart the Managed Server while its ports are still active, the startup attempt fails.

7. Click Apply to apply your changes.

8. If you did not start the Managed Server using Node Manager, shut it down, and restart it using Node Manager. Node Manager cannot perform automatic monitoring and monitoring and shutdown on a server that it did not start.

Starting Node Manager

You start the Node Manager process manually, using the java command at an operating system prompt, or automate the process using scripts. In a production environment, make sure that Node Manager starts automatically when a machine is booted, by creating a startup script (for UNIX systems) or by setting up Node Manager as a Windows service.

Node Manager relies on the same environment variables and command-line options regardless of how you choose to start the Node Manager process.

Note: Always specify a minimum heap size of 32 megabytes (-Xms32m) when starting Node Manager to avoid running out of memory. The Node Manager start script and installNodeMgrSvc.cmd script automatically set this Java argument.

Starting Node Manager Using Start Scripts

BEA provides sample start scripts to help you begin using Node Manager. These scripts are installed in the WL_HOME\server\bin directory. The standard Node Manager start script is named startNodeManager.cmd on Windows systems and startNodeManager.sh on UNIX systems. The scripts set the required Node Manager environment values and start the Node Manager process.

When you first use the Node Manager start script, the script changes to the directory WL_HOME/common/nodemanager where WL_HOME is the WebLogic Server installation directory. Node Manager uses this directory as a working directory for storing output and log files. If you want to specify a different working directory, edit the start script with a text editor and set the value of the NODEMGR_HOME variable to a directory of your choice.

You will also need to edit the sample start script to make sure that the Node Manager startup arguments set the correct listen address and port number for your Node Manager process.

Starting Node Manager as a Windows Service

The directory WL_HOME\server\bin (where WL_HOME is the top-level directory for the WebLogic platform) contains two scripts for installing and uninstalling the Node Manager as a Windows service: installNodeMgrSvc.cmd and uninstallNodeMgrSvc.cmd.

To use either script, simply invoke the script name at the command line. installNodeMgrSvc.cmd creates a default Windows service for the Node Manager application named NodeManager_localhost_5555. As with the Node Manager start scripts described above, you may want to edit installNodeMgrSvc.cmd before running the script to change the service name or to use non-default environment variables or startup arguments.

uninstallNodeMgrSvc.cmd uninstalls the default node manager service. If you edit installNodeMgrSvc.cmd to change the listen port or hostname, make the same change to uninstallNodeMgrSvc.cmd so that it removes the correct service name.

Node Manager Environment Variables

Before starting Node Manager, you must set several different environment variables. One way to set all of the required environment variables for a domain is to run the environment setup scripts provided with WebLogic Server, as described in Starting Node Manager Using Start Scripts and Starting Node Manager as a Windows Service.

If you are starting Node Manager directly from the command line, use the information in the table below to set required environment variables.

Figure 5-2 Node Manager Environment Variables

Environment Variable | Description
--- | ---
JAVA_HOME | Make sure that the JAVA_HOME environment variable points to the root directory where you installed the JDK that you are using for Node Manager. For example: set JAVA_HOME=c:\bea\jdk131 Node Manager has the same JDK version requirements as WebLogic Server.
WL_HOME | WL_HOME specifies the WebLogic Server installation directory. For example: set WL_HOME=c:\bea\weblogic700
PATH | The PATH environment variable should include the WebLogic Server bin directory as well as the path to your Java executable. For example: set PATH=%WL_HOME%\server\bin;%JAVA_HOME%\bin;%PATH%
LD_LIBRARY_ PATH (UNIX only) | For HP UX and Solaris systems, make sure LD_LIBRARY_PATH includes the path to the native Node Manager libraries. The following is an example on Solaris: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$WL_HOME/server/lib/solaris:$WL_HOME/server/lib/solaris/oci816_8 The following is an example on HP UX: SHLIB_PATH=$SHLIB_PATH:$WL_HOME/server/lib/hpux11:$WL_HOME/server/lib/hpux11/oci816_8
CLASSPATH | You can set the Node Manager CLASSPATH either as an option on the java command line used to start Node Manager, or as an environment variable. The following is an example (on Windows NT) of setting the classpath as an environment variable: set CLASSPATH=.;%WL_HOME%\server\lib\weblogic_sp.jar;%WL_HOME%\server\lib\weblogic.jar

Node Manager Command-Line Arguments

The basic syntax for starting start Node Manager is:

>     java [java_property=value ...] -D[nodemanager_property=value]
>     -D[server_property=value] weblogic.nodemanager.NodeManager

In the command line, a java_property indicates a direct argument to the java executable, such as -ms or -mx. If you did not set the CLASSPATH environment variable, use the -classpath option to identify required Node Manager classes.

Note: Always specify a minimum heap size of 32 megabytes (-Xms32m) with Node Manager to avoid running out of memory. The Node Manager start scripts installed with WebLogic Server automatically set this Java argument.

A nodemanager_property begins with the prefix weblogic.property and directly affects the behavior of the Node Manager process. The table below describes all Node Manager properties.

Table 5-1 Node Manager Properties

Node Manager Property | Description | Default
--- | --- | ---
weblogic.nodemanager.certificateFile | Specifies the path to the certificate file used for SSL authentication. | ./config/democert.pem
weblogic.nodemanager.javaHome | Specifies the Java home directory that Node Manager uses to start Managed Servers on this machine. | none
weblogic.nodemanager.keyFile | The path to the private key file to use for SSL communication with the Administration Server. | ./config/demokey.pem
weblogic.nodemanager.keyPassword | The password used to access the encrypted private key in the key file. | password
weblogic.nodemanager.listenAddress (Deprecated) | The address on which Node Manager listens for connection requests. Use weblogic.ListenAddress in place of this deprecated argument. | localhost
weblogic.nodemanager.listenPort (Deprecated) | The TCP port number on which Node Manager listens for connection requests. Use weblogic.ListenPort in place of this deprecated argument. | 5555
weblogic.ListenAddress | The address on which Node Manager listens for connection requests. This argument deprecates weblogic.nodemanager.listenAddress. | localhost
weblogic.ListenPort | The TCP port number on which Node Manager listens for connection requests. This argument deprecates weblogic.nodemanager.listenPort. | 5555
weblogic.nodemanager.nativeVersionEnabled | For UNIX systems other than Solaris or HP-UX, set this property to false to run Node Manager in non-native mode. This will cause Node Manager to use the start script specified by the StartTemplate property to start Managed Servers. | true
weblogic.nodemanager.reverseDnsEnabled | Specifies whether entries in the trusted hosts file can contain DNS names (instead of IP addresses). | false
weblogic.nodemanager.savedLogsDirectory | Specifies the path in which Node Manager stores log files. Node Manager creates a subdirectory in the savedLogsDirectory named NodeManagerLogs. | ./NodeManagerLogs
weblogic.nodemanager.sslHostNameVerificationEnabled | Determines whether or not Node Manager performs host name verification. | false
weblogic.nodemanager.startTemplate | For UNIX systems only, this property specifies the path of a script file used to start Managed Servers. Note: Node Manager will use the specified start script to start Managed Servers only if the NativeVersionEnabled property is set to false. StartTemplate is used only for Unix systems that do not have If you create your own start template script, refer to nodemenager.sh as an example.native Node Manager libraries. | ./nodemanager.sh
weblogic.nodemanager.trustedHosts | The path to the trusted hosts file that Node Manager uses. See Set Up the Node Manager Hosts File. | ./nodemanager.hosts
weblogic.nodemanager.weblogicHome | Specifies the root directory of the WebLogic Server installation. This is used as the default value of -Dweblogic.RootDirectory for servers that do not have a configured root directory. | n/a

Node Manager uses server_property values as default values when starting new Managed Server instances. The table below describes all server_property values.

Table 5-2 Server Properties Used by Node Manager

Server Property | Description | Default
--- | --- | ---
bea.home | Specifies the BEA home directory that Managed Servers use on this machine. | none
java.security.policy | Specifies the path to the security policy file that Managed Servers use. | none
weblogic.security.SSL.trustedCAKeyStore | The path to the KeyStore that contains certificates of trusted authorities. | java.security.keyStore

Note: If you wish to start Node Manager on a UNIX operating system other than Solaris or HP UX, you cannot have any white space characters in any of the parameters that will be passed to the java command line in starting Node Manager. For example, if you try to use the parameter

>     -Dweblogic.Name=big iron

the command fails due to the space character in the name big iron.

Starting and Stopping Managed Servers with Node Manager

These sections describe how to use Node Manager to:

- Start and Stop Managed Servers Manually

- Start and Stop All Managed Servers in a Domain or Cluster

- Start and Stop Servers Using weblogic.Admin

Start and Stop Managed Servers Manually

You can start a Managed Server using the Administration Console if Node Manager is running on the machine that hosts the Managed Server.

When start a Managed Server in this fashion, Node Manager starts the server instance in a separate process. Messages that are usually printed to STDOUT or STDERROR when starting a WebLogic Server are instead displayed in the right pane of the Administration Console. These messages are also written to the Node Manager log file for that server, as described in Managed Server Log Files.

Node Manager always starts a Managed Server in its last runtime state, ignoring the server's configured startup mode. See Node Manager Ignores Server Startup Mode for more information.

To start a Managed Server using Node Manager:

1. Invoke the Administration Console (if it isn't already running).

2. Select the Servers node, then select the name of the configured server you want to start or stop.

3. Select the Control->start-stop tab in the right-hand pane.

4. Select one of the following options to start or stop the server using Node Manager:

   - Start this server... starts the Managed Server using Node Manager.

   - Start this server in standby mode... boots a server to the suspend state.

   Note: Node Manager is not required to use the Shutdown this server... or Force shutdown of this server... options. However, Node Manager is used to complete these shutdown tasks (if configured) if the server fails to respond to the shutdown request.

   See "Starting and Stopping WebLogic Server" in the Administration Guidefor more information about server states.

   Note: If you select the Administration Server, rather than a Managed Server, you can only choose the Shutdown this server... option.

5. Click Yes or No to verify your selection.

Start and Stop All Managed Servers in a Domain or Cluster

You can start or shutdown all Managed Servers in a domain or cluster using the Administration Console if Node Manager is running on each machine that hosts the Managed Servers in the domain or cluster.

To start all Managed Servers in a domain or cluster:

1. Right click on the name of the active domain in the left panel.

2. Select Kill this domain... or Start this domain...

If you start the entire domain from the Administration Console, the results displayed in the right pane will consist of a series of links to the results for each Managed Server that was configured for that domain.

To shutdown all Managed Servers in a domain or cluster:

1. Right click on the name of the cluster in the left panel.

2. Select Kill this cluster... or Start this cluster...

Note: You cannot start or kill the Administration Server using Node Manager.

Start and Stop Servers Using weblogic.Admin

You can use the weblogic.Admin utility with the START, SHUTDOWN, and FORCESHUTDOWN commands to start and kill Managed Servers. To START a Managed Server, Node Manager must be running on the host. Node Manager is not required to SHUTDOWN or FORCESHUTDOWN a server instance; however, if the Managed Server cannot successfully complete a shutdown request, Node Manager performs the operation.

See "WebLogic Server Command-Line Interface Reference" in the Administration Guide for more information on using weblogic.Admin.

Troubleshooting Node Manager

The following sections describe how to diagnose and correct Node Manager problems. Use the Node Manager log files to help troubleshoot problems in starting or stopping individual Managed Servers. Use the steps in Correcting Common Problems to solve problems in Node Manager configuration and setup.

Managed Server Log Files

Note: To reclaim disk space, you should periodically delete the accumulated log files from past Node Manager startup and shutdown attempts.

When you start WebLogic Server, startup or error messages are printed to STDOUT or STDERROR. These messages can be retrieved by right clicking on the server in the left pane of the Administration Console and selecting the option View Server log.

Node Manager saves these messages in the NodeManagerLogs directory. By default NodeManagerLogs is created in the directory where you start Node Manager. A separate log file subdirectory is created for each Managed Server that Node Manager starts on the machine. Each subdirectory uses the naming convention domain_server which designates the domain name and Managed Server name, respectively.

Logs files stored in the server directory include:

  servername_pid

  This file saves the process ID of the Managed Server named servername. This is used by Node Manager to kill the server process when requested by the Administration Server to do so.

  config.xml

  This file saves startup configuration information passed to Node Manager from the Administration Server when starting a Managed Server.

  servername_output.log

  This file saves Node Manager startup messages generated when Node Manager attempts to start a Managed Server. If a new attempt is made to start the server, this file is renamed by appending _PREV to the file name.

  servername_error.log

  This file saves Node Manager error messages generated when Node Manager attempts to start a Managed Server. If a new attempt is made to start the server, this file is renamed by appending _PREV to the file name.

The domain's Administration Server also stores a copy of the Managed Server log files in the a directory name NodeManagerClientLogs. This directory is created one directory level above the Administration Server's root directory (by default, the directory in which you started the server). The NodeManagerClientLogs directory contains a subdirectory for each Managed Server you attempted to start via Node Manager. Each log in these subdirectories corresponds to an attempt to carry out some action, such as starting or killing the server process. The name of the log file includes a timestamp that indicates the time at which the action was attempted.

You can view the standard output and error messages for a server, as well as Node Manager's log messages for a particular Managed Server, using the console. Simply select the server that was started using manager, then select the Monitoring->Process Output tab.

Node Manager Log Files

Note: Because Node Manager creates a new log file (with unique timestamp) each time it starts, you should periodically remove the NodeManagerLogs subdirectory to reclaim the space used by old log files.

In WebLogic Server 7.0 Node Manager also generates its own log files, which contain Node Manager startup and status messages that were written to STDOUT in previous Node Manager versions. Node Manager log files are placed in the NodeManagerLogs\NodeManagerInternal subdirectory. The log files using the naming convention NodeManagerInternal_timestamp, where timestamp indicates the time at which Node Manager started.

Correcting Common Problems

The table below describes common Node Manager problems and their solutions.

Table 5-3 Troubleshooting Node Manager Problems

Symptom | Explanation
--- | ---
Error message: Could not start server 'MyServer' via Node Manager - reason: 'Target machine configuration not found'. | You have not assigned the Managed Server to a machine. Follow the steps under Configure a Machine to Use Node Manager.
Error message: <SecureSocketListener: Could not setup context and create a secure socket on 172.17.13.26:7001> | The Node Manager process may not be running on the designated machine. See Starting Node Manager.
I configured self-health monitoring attributes for a server, but Node Manager doesn't automatically restart the server. | To automatically reboot a server, you must configure the server's automatic restart attributes as well as the health monitoring attributes. See Configure Monitoring, Shutdown and Restart for Managed Servers and Starting Node Manager. In addition, you must start Managed Servers using Node Manager. You cannot automatically reboot servers that were started outside of the Node Manager process (for example, servers started directly at the command line).
> Applications on the Managed Server are using the wrong directory for lookups. | Applications deployed to WebLogic Server should never make assumptions about the current working directory. File lookups should generally take place relative to the Root Directory obtained with the ServerMBean.getRootDirectory() method (this defaults to the "." directory). For example, to perform a file lookup, use code similar to
>     String rootDir = ServerMBean.getRootDirectory();
>      //application root directory
>     File f = new File(rootDir + File.separator +
>      "foo.in");
> rather than simply:
>     File f = new File("foo.in");
> If an application is deployed to a server that is started using Node Manager, use the following method calls instead:
>     String rootDir //application root directory
>     if ((rootDir = ServerMBean.getRootDirectory()) ==
>      null) rootDir =
>      ServerStartMBean.getRootDirectory();
>     File f = new File(rootDir + File.separator +
>      "foo.in");
The ServerStartMBean.getRootDirectory() method obtains the Root Directory value that you specified when configuring the server for startup using Node Manager. (This corresponds to the Root Directory attribute specified the Configuration->Remote Start page of the Administration Console.)

Node Manager Internal States

Node Manager defines its own, internal Managed Server states for use when restarting a server. You may observe these states when working with Node Manager in a domain:

- FAILED_RESTARTING—Indicates that Node Manager is currently restarting a failed Managed Server.

- ACTIVATE_LATER—Indicates that MaxRestart restart attempts have been made in current RestartInterval, and Node Manager will attempt additional restarts in the next RestartInterval.

- FAILED_NOT_RESTARTABLE—Indicates that the server is Failed, but Node Manager cannot restart it because the server's AutoRestart or AutoKillIfFailed attribute is set to False.

- FAILED_MIGRATABLE—Indicates that the server is Failed, but Node Manager cannot restart it because the server's HostsMigratableServices attribute is set to True.