blob: 3eb80503e5f6fe60812160b1aa856b4db66a644e [file] [log] [blame]
type=page
status=published
title=create-cluster
next=create-connector-connection-pool.html
prev=create-auth-realm.html
~~~~~~
= create-cluster
[[create-cluster-1]][[GSRFM00017]][[create-cluster]]
== create-cluster
Creates a {productName} cluster
[[sthref147]]
=== Synopsis
[source]
----
asadmin [asadmin-options] create-cluster [--help]
[--config config-name]
[--systemproperties (name=value)[:name=value]*]
[--properties (name=value)[:name=value]*]
[--gmsenabled={true|false}]
[--multicastport multicast-port]
[--multicastaddress multicast-address]
[--bindaddress bind-address]
[--hosts hadb-host-list]
[--haagentport port-number]
[--haadminpassword password]
[--haadminpasswordfile file-name] [--devicesize devicesize ]
[--haproperty (name=value)[:name=value]*]
[--autohadb=false] [--portbase port-number]
cluster-name
----
[[sthref148]]
=== Description
The `create-cluster` subcommand creates a {productName} cluster.
Initially the cluster contains no {productName} instances,
applications, or resources.
A cluster requires a reference to the named configuration that defines
the configuration of all instances that are added to the cluster. The
configuration can be specified in the command to create the cluster, but
is not required. If no configuration is specified, the subcommand
creates a configuration that is named cluster-name`-config` for the
cluster. The cluster that is created is a standalone cluster because the
cluster's configuration is not shared with any other clusters or
standalone instances.
To add instances to the cluster, set the `--cluster` option to the name
of the cluster when using either of the following subcommands:
* link:create-instance.html#create-instance-1[`create-instance`(1)]
* link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)]
To delete server instances from the cluster at any time, use one of the
following subcommands:
* link:delete-instance.html#delete-instance-1[`delete-instance`(1)]
* link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)]
To associate applications and resources with all instances in the
cluster, set the `--target` option to the name of the cluster when
performing the following operations:
* Deploying applications by using the
link:deploy.html#deploy-1[`deploy`(1)] subcommand
* Creating resources by using subcommands such as
link:create-jdbc-resource.html#create-jdbc-resource-1[`create-jdbc-resource`(1)]
* Creating references to applications that are already deployed in other
targets by using the
link:create-application-ref.html#create-application-ref-1[`create-application-ref`(1)]
subcommand
* Creating references to resources that are already created in other
targets by using the
link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)]
subcommand
This subcommand is supported in remote mode only.
[[sthref149]]
=== 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.
`--config`::
Specifies the named configuration that the cluster references. The
configuration must exist and must not be named `default-config` or
`server-config`. Specifying the `--config` option creates a shared
cluster. If this option is omitted, a standalone cluster is created.
`--systemproperties`::
Defines system properties for the configuration that is created for
the cluster. These properties override the property values in the
`default-config` configuration. The following properties are
available:
+
`ASADMIN_LISTENER_PORT`;;
This property specifies the port number of the HTTP port or HTTPS
port through which the DAS connects to the instance to manage the
instance. Valid values are 1-65535. On UNIX, creating sockets that
listen on ports 1-1024 requires superuser privileges.
`HTTP_LISTENER_PORT`;;
This property specifies the port number of the port that is used to
listen for HTTP requests. Valid values are 1-65535. On UNIX,
creating sockets that listen on ports 1-1024 requires superuser
privileges.
`HTTP_SSL_LISTENER_PORT`;;
This property specifies the port number of the port that is used to
listen for HTTPS requests. Valid values are 1-65535. On UNIX,
creating sockets that listen on ports 1-1024 requires superuser
privileges.
`IIOP_LISTENER_PORT`;;
This property specifies the port number of the port that is used for
IIOP connections. Valid values are 1-65535. On UNIX, creating
sockets that listen on ports 1-1024 requires superuser privileges.
`IIOP_SSL_LISTENER_PORT`;;
This property specifies the port number of the port that is used for
secure IIOP connections. Valid values are 1-65535. On UNIX, creating
sockets that listen on ports 1-1024 requires superuser privileges.
`IIOP_SSL_MUTUALAUTH_PORT`;;
This property specifies the port number of the port that is used for
secure IIOP connections with client authentication. Valid values are
1-65535. On UNIX, creating sockets that listen on ports 1-1024
requires superuser privileges.
`JAVA_DEBUGGER_PORT`;;
This property specifies the port number of the port that is used for
connections to the
http://java.sun.com/javase/technologies/core/toolsapis/jpda/[Java
Platform Debugger Architecture (JPDA)]
(http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)
debugger. Valid values are 1-65535. On UNIX, creating sockets that
listen on ports 1-1024 requires superuser privileges.
`JMS_PROVIDER_PORT`;;
This property specifies the port number for the Java Message Service
provider. Valid values are 1-65535. On UNIX, creating sockets that
listen on ports 1-1024 requires superuser privileges.
`JMX_SYSTEM_CONNECTOR_PORT`;;
This property specifies the port number on which the JMX connector
listens. Valid values are 1-65535. On UNIX, creating sockets that
listen on ports 1-1024 requires superuser privileges.
`OSGI_SHELL_TELNET_PORT`;;
This property specifies the port number of the port that is used for
connections to the
http://felix.apache.org/site/apache-felix-remote-shell.html[Apache
Felix Remote Shell]
(http://felix.apache.org/site/apache-felix-remote-shell.html). This
shell uses the Felix shell service to interact with the OSGi module
management subsystem. Valid values are 1-65535. On UNIX, creating
sockets that listen on ports 1-1024 requires superuser privileges.
`--properties`::
Defines properties for the cluster. The following properties are
available:
`GMS_DISCOVERY_URI_LIST`;;
The locations of {productName} instances in the cluster to use
for discovering the cluster. This property is required only if the
Group Management Service (GMS) is not using multicast for
broadcasting messages. +
Valid values for this property are as follows:
* A comma-separated list of uniform resource identifiers (URIs).
Each URI must locate a {productName} instance or the DAS. This
format is required if multiple {productName} instances are
running on the same host. +
The format of each URI in the list is as follows: +
scheme``://``host-name-or -IP-address``:``port
** scheme is the URI scheme, which is `tcp`.
** host-name-or -IP-address is the host name or IP address of the
host on which the instance is running.
** port is the port number of the port on which the instance listens
for messages from GMS. The system property
``GMS_LISTENER_PORT-``clustername must be set for the instance. For
information about how to set this system property for an instance,
see "link:ha-administration-guide/clusters.html#GSHAG00373[Discovering a Cluster When Multicast Transport
Is Unavailable]" in {productName} High
Availability Administration Guide.
* A comma-separated list of IP addresses or host names on which the
DAS or the instances are running. The list can contain a mixture of
IP addresses and host names. This format can be used only if one
clustered instance is running on each host. The value of the
`GMS_LISTENER_PORT` property must be unique for each cluster in a domain.
* The keyword `generate`. This format can be used only if one
instance in a cluster is running on each host and the DAS is running
on a separate host. Multiple instances on the same host cannot be
members of the same cluster. The value of the `GMS_LISTENER_PORT`
property must be unique for each cluster in a domain.
`GMS_LISTENER_PORT`;;
The port number of the port on which the cluster listens for
messages from GMS. +
The default value is a reference to the
``GMS_LISTENER_PORT-``cluster-name system property. By default, this
system property is not set. In this situation, GMS selects a free
port from the range that is defined by the properties
`GMS_TCPSTARTPORT` and `GMS_TCPENDPORT`. By default, this range is
9090-9200. In most situations, the default behavior should suffice. +
However, if GMS is not using multicast for broadcasting messages,
the `GMS_LISTENER_PORT` property must specify a port number that is
valid for all {productName} instances in the cluster. To use the
default value to meet this requirement, use a system property to set
the port number individually for each instance. +
For example, use the `create-system-properties` subcommand to create
the system property ``GMS_LISTENER_PORT-``cluster-name for the DAS.
Then, for each instance in the cluster, set the
``GMS_LISTENER_PORT-``cluster-name system property to the port number
on which the instance listens for messages from GMS. The default
value of the `GMS_LISTENER_PORT` property for the cluster references
this system property.
`GMS_LOOPBACK`;;
Specifies whether an instance may receive from itself
application-level messages that the instance broadcasts to the
cluster. Possible values are as follows:
+
--
* `false`
The instance may not receive messages from itself (default).
* `true`
The instance may receive messages from itself. Use this setting
for testing an instance when the instance is the only instance in
a cluster.
--
`GMS_MULTICAST_TIME_TO_LIVE`;;
The maximum number of iterations or transmissions that a multicast
message for the following types of events can experience before the
message is discarded:
* Group discovery
* Member heartbeats
* Membership changes
+
To match the configuration of the network on which the DAS and
clustered instances are deployed, set this value as low as possible.
To determine the lowest possible value for your system, use the
link:validate-multicast.html#validate-multicast-1[`validate-multicast`(1)]
subcommand.
** A value of 0 ensures that multicast messages never leave the host
from which they are broadcast.
** A value of 1 might prevent the broadcast of messages between hosts
on same subnet that are connected by a switch or a router.
** The default is 4, which ensures that messages are successfully
broadcast to all cluster members in networks where hosts are
connected by switches or routers.
`GMS_TCPENDPORT`;;
The highest port number in the range from which GMS selects a free
port if the ``GMS_LISTENER_PORT-``cluster-name system property is not
set. The default is 9200.
`GMS_TCPSTARTPORT`;;
The lowest port number in the range from which GMS selects a free
port if the ``GMS_LISTENER_PORT-``cluster-name system property is not
set. The default is 9090.
`--gmsenabled`::
Specifies whether GMS is enabled for the cluster. Possible values are as follows:
`true`;;
GMS is enabled for the cluster (default).
When GMS is enabled for a cluster, GMS is started in each server
instance in the cluster and in the DAS. The DAS participates in each
cluster for which this option is set to `true`.
`false`;;
GMS is disabled for the cluster.
`--multicastaddress`::
The address on which GMS listens for group events. This option must
specify a multicast address in the range 224.0.0.0 through
239.255.255.255. The default is 228.9.XX.YY, where XX and YY are
automatically generated independent values between 0 and 255.
`--multicastport`::
The port number of communication port on which GMS listens for group
events. This option must specify a valid port number in the range
2048-49151. The default is an automatically generated value in this
range.
`--bindaddress`::
The Internet Protocol (IP) address of the network interface to which
GMS binds. This option must specify the IP address of a local network
interface. The default is all public network interface addresses. +
On a multihome machine, this option configures the network interface
that is used for the GMS. A multihome machine possesses two or more
network interfaces. +
To specify an address that is valid for all {productName}
instances in the cluster, use a system property to set the address
individually for each instance. +
For example, use the `create-system-properties` subcommand to create
the system property ``GMS-BIND-INTERFACE-ADDRESS-``cluster-name. Then
set the `--bindaddress` option of this subcommand to
``${GMS-BIND-INTERFACE-ADDRESS-``cluster-name`}` to specify the system
property. Finally, for each instance in the cluster, set the
``GMS-BIND-INTERFACE-ADDRESS-``cluster-name system property to the
required network interface address on the instance's machine.
`--hosts`::
Do not specify this option. This option is retained for compatibility
with earlier releases. If you specify this option, a syntax error does
not occur. Instead, the subcommand runs successfully and displays a
warning message that the option is ignored.
`--haagentport`::
Do not specify this option. This option is retained for compatibility
with earlier releases. If you specify this option, a syntax error does
not occur. Instead, the subcommand runs successfully and displays a
warning message that the option is ignored.
`--haadminpassword`::
Do not specify this option. This option is retained for compatibility
with earlier releases. If you specify this option, a syntax error does
not occur. Instead, the subcommand runs successfully and displays a
warning message that the option is ignored.
`--haadminpasswordfile`::
Do not specify this option. This option is retained for compatibility
with earlier releases. If you specify this option, a syntax error does
not occur. Instead, the subcommand runs successfully and displays a
warning message that the option is ignored.
`--devicesize`::
Do not specify this option. This option is retained for compatibility
with earlier releases. If you specify this option, a syntax error does
not occur. Instead, the subcommand runs successfully and displays a
warning message that the option is ignored.
`--haproperty`::
Do not specify this option. This option is retained for compatibility
with earlier releases. If you specify this option, a syntax error does
not occur. Instead, the subcommand runs successfully and displays a
warning message that the option is ignored.
`--autohadb`::
Do not specify this option. This option is retained for compatibility
with earlier releases. If you specify this option, a syntax error does
not occur. Instead, the subcommand runs successfully and displays a
warning message that the option is ignored.
`--portbase`::
Do not specify this option. This option is retained for compatibility
with earlier releases. If you specify this option, a syntax error does
not occur. Instead, the subcommand runs successfully and displays a
warning message that the option is ignored.
[[sthref150]]
=== Operands
cluster-name::
The name of the cluster. +
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 cluster, a named configuration, a {productName} instance,
or a node.
* The name must not be `domain`, `server`, or any other keyword that
is reserved by {productName}. +
If the
link:configure-jms-cluster.html#configure-jms-cluster-1[`configure-jms-cluster`(1)]
subcommand is to be used to configure a Message Queue cluster to
provide JMS services to the {productName} cluster, the length of
the {productName} cluster name is might be restricted: +
* If `clustertype` is set to `enhanced` in the
link:configure-jms-cluster.html#configure-jms-cluster-1[`configure-jms-cluster`(1)]
subcommand, the name can be no longer than n–21 characters, where n is
the maximum table name length allowed by the database.
* If `configstoretype` is set to `shareddb` in the
link:configure-jms-cluster.html#configure-jms-cluster-1[`configure-jms-cluster`(1)]
subcommand, the name can be no longer than n–19 characters, where n is
the maximum table name length allowed by the database.
[[sthref151]]
=== Examples
[[GSRFM462]][[sthref152]]
==== Example 1   Creating a Cluster
This example creates a cluster that is named `ltscluster` for which port
1169 is to be used for secure IIOP connections. Because the `--config`
option is not specified, the cluster references a copy of the named
configuration `default-config` that is named `ltscluster-config`.
[source]
----
asadmin> create-cluster
--systemproperties IIOP_SSL_LISTENER_PORT=1169
ltscluster
Command create-cluster executed successfully.
----
[[GSRFM463]][[sthref153]]
==== Example 2   Creating a Cluster With a List of URIs for Discovering the
Cluster
This example creates a cluster that is named `tcpcluster`. In this
example, GMS is not using multicast for broadcasting messages and
multiple instances reside on the same host. Therefore, the
`GMS_DISCOVERY_URI_LIST` property is set to the locations of the
{productName} instances to use for discovering the cluster. These
instances reside on the host whose IP address is `10.152.23.224` and
listen for GMS events on ports 9090, 9091, and 9092.
To distinguish colon (`:`) characters in URIs from separators in a
property list, colons in URIs are escaped with single quote characters
(`'`) and backslash (`\`) characters. For more information about escape
characters in options for the `asadmin` utility, see the
link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
This example assumes that the port on which each instance listens for
GMS messages is set independently for the instance through the
`GMS_LISTENER_PORT-tcpcluster` system property. For information about
how to set the port on which an instance listens for GMS messages, see
"link:ha-administration-guide/clusters.html#GSHAG00373[Discovering a Cluster When Multicast Transport Is
Unavailable]" in {productName} High Availability
Administration Guide.
[source]
----
asadmin> create-cluster --properties GMS_DISCOVERY_URI_LIST=
tcp'\\:'//10.152.23.224'\\:'9090,
tcp'\\:'//10.152.23.224'\\:'9091,
tcp'\\:'//10.152.23.224'\\:'9092 tcpcluster
Command create-cluster executed successfully.
----
[[GSRFM827]][[sthref154]]
==== Example 3   Creating a Cluster With a List of IP Addresses for
Discovering the Cluster
This example creates a cluster that is named `ipcluster`. In this
example, GMS is not using multicast for broadcasting messages and only
one clustered instance resides on each host. Therefore, the
`GMS_DISCOVERY_URI_LIST` property is set to the IP addresses of the
hosts where instances to use for discovering the cluster are running.
The cluster listens for messages from GMS on port 9090.
[source]
----
asadmin> create-cluster --properties 'GMS_DISCOVERY_URI_LIST=
10.152.23.225,10.152.23.226,10.152.23.227,10.152.23.228:
GMS_LISTENER_PORT=9090' ipcluster
Command create-cluster executed successfully.
----
[[GSRFM828]][[sthref155]]
==== Example 4   Creating a Cluster With a Generated List of Instances for
Discovering the Cluster
This example creates a cluster that is named `gencluster`. In this
example, GMS is not using multicast for broadcasting messages, one
instance in the cluster is running on each host and the DAS is running
on a separate host. Therefore, the `GMS_DISCOVERY_URI_LIST` property is
set to the keyword `generate` to generate a list of instances to use for
discovering the cluster. The cluster listens for messages from GMS on
port 9090.
[source]
----
asadmin> create-cluster --properties 'GMS_DISCOVERY_URI_LIST=generate:
GMS_LISTENER_PORT=9090' gencluster
Command create-cluster executed successfully.
----
[[sthref156]]
=== Exit Status
0::
command executed successfully
1::
error in executing the command
[[sthref157]]
=== See Also
link:asadmin.html#asadmin-1m[`asadmin`(1M)]
link:create-application-ref.html#create-application-ref-1[`create-application-ref`(1)],
link:create-instance.html#create-instance-1[`create-instance`(1)],
link:create-jdbc-resource.html#create-jdbc-resource-1[`create-jdbc-resource`(1)],
link:create-local-instance.html#create-local-instance-1[`create-local-instance`(1)],
link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)],
link:delete-cluster.html#delete-cluster-1[`delete-cluster`(1)],
link:delete-instance.html#delete-instance-1[`delete-instance`(1)],
link:delete-local-instance.html#delete-local-instance-1[`delete-local-instance`(1)],
link:deploy.html#deploy-1[`deploy`(1)],
link:list-clusters.html#list-clusters-1[`list-clusters`(1)],
link:start-cluster.html#start-cluster-1[`start-cluster`(1)],
link:stop-cluster.html#stop-cluster-1[`stop-cluster`(1)],
link:validate-multicast.html#validate-multicast-1[`validate-multicast`(1)]
"link:ha-administration-guide/clusters.html#GSHAG00373[Discovering a Cluster When Multicast Transport Is
Unavailable]" in {productName} High Availability
Administration Guide
Apache Felix Remote Shell
(http://felix.apache.org/site/apache-felix-remote-shell.html), Java
Platform Debugger Architecture (JPDA)
(http://www.oracle.com/technetwork/java/javase/tech/jpda-141715.html)