type=page
status=published
title=create-node-config
next=create-node-dcom.html
prev=create-network-listener.html
~~~~~~
create-node-config
==================

[[create-node-config-1]][[GSRFM00047]][[create-node-config]]

create-node-config
------------------

creates a node that is not enabled for remote communication

[[sthref445]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] create-node-config [--help]
[--nodehost node-host]
[--installdir as-install-parent] [--nodedir node-dir] node-name
----

[[sthref446]]

Description

The `create-node-config` subcommand creates a node that is not enabled
for remote communication. The `create-node-config` subcommand does not
require the Distributed Component Object Model (DCOM) remote protocol or
secure shell (SSH) to be configured to create the node.

A node represents a host on which the \{product---name} software is
installed. A node must exist for every host on which \{product---name}
instances reside.


[NOTE]
=======================================================================

To represent the host where the DAS is running, \{product---name}
provides the predefined node `localhost-`domain. The predefined node
`localhost-`domain is not enabled for remote communication.

=======================================================================


All administration of instances on a node that is not enabled for remote
communication must be performed on the host that the node represents.
The domain administration server (DAS) on a remote host cannot contact
the node. To administer instances on a node that represents a host that
is remote from the DAS, you must use the following subcommands:

* link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)]
* link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)]
* link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)]

However, you may use
link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)]
or link:stop-instance.html#stop-instance-1[`stop-instance`(1)] to stop
the instances.

This subcommand is supported in remote mode only.

[[sthref447]]

Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--nodehost`::
  The name of the host that the node represents. If this option is
  omitted, no host is specified for the node.
`--installdir`::
  The full path to the parent of the base installation directory of the
  \{product---name} software on the host, for example,
  `/export/glassfish3/`. If this option is omitted, no parent of the
  base installation directory of the \{product---name} software is
  specified for the node.
`--nodedir`::
  The path to the directory that is to contain \{product---name}
  instances that are created on the node. If a relative path is
  specified, the path is relative to the as-install directory. If this
  option is omitted, no directory for instances is specified for the
  node.

[[sthref448]]

Operands

node-name::
  The name of the node. +
  The name must meet the following requirements: +
  * The name may contain only ASCII characters.
  * The name must start with a letter, a number, or an underscore.
  * The name may contain only the following characters:
  ** Lowercase letters
  ** Uppercase letters
  ** Numbers
  ** Hyphen
  ** Period
  ** Underscore
  * The name must be unique in the domain and must not be the name of
  another node, a cluster, a named configuration, or a \{product---name}
  instance.
  * The name must not be `domain`, `server`, or any other keyword that
  is reserved by \{product---name}.

[[sthref449]]

Examples

[[GSRFM509]][[sthref450]]

Example 1   Creating a Node That Is Not Enabled for Remote Communication

This example creates the node `sj03` for host `sj03.example.com`. The
node is not enabled for remote communication.

[source,oac_no_warn]
----
asadmin> create-node-config --nodehost sj03.example.com sj03

Command create-node-config executed successfully.
----

[[sthref451]]

Exit Status

0::
  command executed successfully
1::
  error in executing the command

[[sthref452]]

See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
link:create-node-dcom.html#create-node-dcom-1[`create-node-dcom`(1)],
link:create-node-ssh.html#create-node-ssh-1[`create-node-ssh`(1)],
link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
link:delete-node-config.html#delete-node-config-1[`delete-node-config`(1)],
link:install-node.html#install-node-1[`install-node`(1)],
link:install-node-dcom.html#install-node-dcom-1[`install-node-dcom`(1)],
link:install-node-ssh.html#install-node-ssh-1[`install-node-ssh`(1)],
link:list-nodes.html#list-nodes-1[`list-nodes`(1)],
link:start-local-instance.html#start-local-instance-1[`start-local-instance`(1)],
link:stop-instance.html#stop-instance-1[`stop-instance`(1)],
link:stop-local-instance.html#stop-local-instance-1[`stop-local-instance`(1)],
link:uninstall-node.html#uninstall-node-1[`uninstall-node`(1)],
link:uninstall-node-dcom.html#uninstall-node-dcom-1[`uninstall-node-dcom`(1)],
link:uninstall-node-ssh.html#uninstall-node-ssh-1[`uninstall-node-ssh`(1)],
link:update-node-config.html#update-node-config-1[`update-node-config`(1)],
link:update-node-ssh.html#update-node-dcom-1[`update-node-dcom`(1)],
link:update-node-ssh001.html#update-node-ssh-1[`update-node-ssh`(1)]


