6 Using Node Manager

These sections provide information on how to start and stop the Java-based and script-based Node Manager. It also provides information on the recommended procedures for starting servers using Node Manager:

Starting Node Manager

On Windows, you can use a shortcut on the Start menu to start the Node Manager (Tools > Node Manager).

Running Node Manager as a Startup Service

It is recommended that you install Node Manager to run as a startup service. This allows Node Manager to start up automatically each time the system is restarted. See "About Installing Node Manager as a Windows Service" in the Oracle WebLogic Server Installation Guide.

By default, Node Manager listens only from the local host. If you want 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 listen address. See Reconfigure Startup Service for Windows Installations.

Starting Java-based Node Manager Using Scripts

Although running Node Manager as an operating system service is recommended, you can also start Node Manager manually at the command prompt or with a script. The environment variables Node Manager requires are described in Step 8: Set the Node Manager Environment Variables.

Sample start scripts for Node Manager are installed in the WL_HOME\server\bin directory, where WL_HOME is the top-level installation directory for WebLogic Server. Use startNodeManager.cmd on Windows systems and startNodeManager.sh on UNIX systems.

The scripts set the required environment variables and start Node Manager in WL_HOME/common/nodemanager. Node Manager uses this directory as a working directory for output and log files. To specify a different working directory, edit the start script with a text editor and set the value of the NODEMGR_HOME variable to the desired directory.

Edit the sample start script to make sure that the command qualifiers set the correct listen address and port number for your Node Manager process.

Command Syntax for Starting Java-based Node Manager

The syntax for starting Java-based Node Manager is:

java [java_option=value ...] -D[nodemanager_property=value] -D[server_
property=value] weblogic.NodeManager

where:

  • java_option is a direct argument to the java executable, such as -ms or -mx.

    Note:

    If you did not set the CLASSPATH environment variable, use the -classpath option to identify required Node Manager classes.
  • nodemanager_property is a Node Manager property. Instead of supplying Node Manager property values on the command line, you can edit the nodemanager.properties file, which is installed in the directory where you start Node Manager. For more information, see Reviewing nodemanager.properties.

    Node Manager property values you supply on the command line override the values in nodemanager.properties.

  • server_property is a server-level property that Node Manager accepts on the command line, including:

    • bea.home—the BEA home directory that server instances on the current machine use.

    • java.security.policy— path to the security policy file that server instances on the current machine use.

      Note:

      For UNIX systems:

      If you run 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 when starting Node Manager. For example, this command fails due to the space character in the name "big iron".

      -Dweblogic.Name="big iron"
      

      For UNIX systems other than Solaris, HP-UX, and Linux operating systems, you must disable the weblogic.nodemanager.nativeVersionEnabled option at the command line when starting Node Manager (or set the property in nodemanager.properties) to use the pure Java version. For more information, see Reviewing nodemanager.properties.

Running Script-based Node Manager

To use the SSH Node Manager Command Shell, start the Administration Server using the following command line option:

-Dweblogic.nodemanager.ShellCommand='ssh -o PasswordAuthentication=no %H wlscontrol.sh -d %D -r %R
 -s %S -x -c -f sample_custom_startscript.sh %C'

Note:

%C must be the last argument supplied to wlscontrol.sh.

The weblogic.nodemanager.ShellCommand attribute specifies the command template to use to communicate with a remote SSH Node Manager and execute Node Manager functions for server instances under its control.

The template assumes that wlscontrol.sh is in the default path on the remote machine hosting Node Manager.

The ShellCommand syntax is:

ssh -o PasswordAuthentication=no %H wlscontrol.sh -d %D -r %R -s %S %C'

The possible command line options are listed in Table 6-0. The possible parameter values are listed in Table 6-0.

For example, if you type this command,

ssh -o PasswordAuthentication=no wlscontrol.sh myserver start

The listen address and port of the SSH server default to the listen address and port used by Node Manager on the remote machine. The domain name and domain directory are assumed to be the root directory specified for the target server instance, myserver.

This command:

ssh -o PasswordAuthentication=no 172.11.111.11 wlscontrol.sh -d ProductionDomain
 -r ProductionDomain -s ServerA'

issues a START command to the server instance named ServerA, in the domain called ProductionDomain, located in the domains/ProductionDomain directory.

The ssh command must include the string:

-o PasswordAuthentication=no

This string passes the ssh PasswordAuthentication option. A value of yes causes the client to hang when it tries to read from the console.

Table 6-1 wlscontrol.sh Command Line Options

Parameter Description

-n

Specifies the Node Manager root directory

-s

Specifies the server name

-r

Specifies the domain directory

-x

Sets the Node Manager debug flag

-c

Enables a server start script

-f

The name of the server start script

-p

The name of the server stop script

-h

Prints the usage for wlscontrol.sh


Table 6-2 Shell Command Templates

Parameter Description Default

%H

Host name of the SSH server

NodeManagerMBean.ListenAddress

%N

Node Manager home directory

NodeManagerMBean.NodeManagerHome

%P

Port number of SSH server

NodeManagerMBean.ListenAddress

22

%S

WebLogic Server name

none

%D

WebLogic domain name

ServerStartMBean.RootDirectory

%R

Domain directory (server root)

ServerStartMBean.RootDirectory

%C

Node manager script command

  • START—Start server

  • KILL—Kill server

  • STAT—Get server status

  • GETLOG—Retrieve server output log.

  • VERSION—Return Node Manager version.

Note: This must be the last element in the command.

none 

Stopping Node Manager

To stop Node Manager, close the command shell in which it is running.

Alternatively, after having set the nodemanager.properties attribute QuitEnabled to true (the default is false), you can use WLST to connect to the Node Manager and shut it down. For more information, see stopNodeManager in the WebLogic Scripting Tool Command Reference.

Using Node Manager to Control Servers

In general, it is recommended that you use the WebLogic Scripting Tool and Node Manager to start and stop the Administration Server and Managed Servers. This section describes the recommended procedures for starting servers using Node Manager and WLST.

For more information, see "Using WLST and Node Manager to Manage Servers" and the "WLST Command and Variable Reference" in WebLogic Scripting Tool Command Reference.

Starting the Administration Server Using Node Manager

The following general procedures are recommended for starting an Administration Server using WLST and Node Manager.

  1. Start Node Manager. See Starting Node Manager.

  2. Invoke WLST.

    On Windows, you can use a shortcut on the Start menu to set your environment variables and invoke WLST.

  3. Connect WLST to Node Manager using the nmConnect command.

  4. Start the Administration Server using the nmStart command.

After the Administration Server has been started, you can use WLST to start the Managed Servers in your domain.

Note:

Starting the server using the nmStart command allows Node Manager to monitor the state of your Administration Server and restart it in case of failure. Node Manager can only restart servers that were started in this way.

Using nmStart allows you to pass specific properties to a server, but should only be used for debugging. Server properties passed through nmStart are not preserved the next time the server is restarted.

Starting Managed Servers

The following general procedures are recommended for starting a Managed Server using WLST and Node Manager.

  1. Start Node Manager. See Starting Node Manager.

  2. Start an Administration Server. See "Starting Instances of WebLogic Server" in Managing Server Startup and Shutdown for Oracle WebLogic Server.

  3. Invoke WLST and connect to an Administration Server using the connect command.

  4. Start your Managed Server using the WLST start command.

Using the start command causes WLST to contact the Administration Server to determine the Managed Servers startup properties. These are in turn passed to Node Manager and are used to start the Managed Server.

Starting Managed Servers without an Administration Server

The following general procedures are recommended for starting a Managed Server using WLST and Node Manager if you do not want to use the Administration Server to determine a Managed Server's startup properties:

  1. Start Node Manager. See Starting Node Manager.

  2. Invoke WLST and connect to Node Manager using the nmConnect command.

  3. Start the Managed Server using the WLST nmStart command.

Using the nmStart command allows you to restart a Managed Server without the Administration Server and to specify the server startup properties you want. However, the following considerations apply:

  • If this is the first time you are starting the Managed Server, you must manually ensure that boot.properties and startup.properties are already defined.

  • nmStart should not be used to permanently change the startup properties for a server. The next time a server is migrated or restarted from the Administration Server, these properties will not be used.

  • When passing the server username and password using nmStart, these values are not encrypted.