Spec-Zone .ru
спецификации, руководства, описания, API
|
The management server is the process that reads the cluster configuration file and distributes this information to all nodes in the cluster that request it. It also maintains a log of cluster activities. Management clients can connect to the management server and check the cluster's status.
The following table includes options that are specific to the MySQL Cluster management server program ndb_mgmd. Additional descriptions follow the table. For options common to most MySQL Cluster programs (including ndb_mgmd), see Section 17.4.25, "Options Common to MySQL Cluster Programs — Options Common to MySQL Cluster Programs".
Table 17.12. ndb_mgmd Options and Variables: MySQL Cluster NDB 7.3
Format | Description | Added / Removed |
---|---|---|
|
Specify the cluster configuration file; in NDB-6.4.0 and later, needs --reload or --initial to override configuration cache if present | All MySQL 5.6 based releases |
Specify the cluster management server's configuration cache directory | All MySQL 5.6 based releases |
|
Local bind address | All MySQL 5.6 based releases |
|
Print full configuration and exit | All MySQL 5.6 based releases |
|
Run ndb_mgmd in daemon mode (default) | All MySQL 5.6 based releases |
|
Do not run ndb_mgmd as a daemon | All MySQL 5.6 based releases |
|
Run ndb_mgmd in interactive mode (not officially supported in production; for testing purposes only) | All MySQL 5.6 based releases |
|
A name to use when writing messages applying to this node in the cluster log. | All MySQL 5.6 based releases |
|
Do not provide any node id checks | All MySQL 5.6 based releases |
|
Read cluster configuration data from the my.cnf file | All MySQL 5.6 based releases |
|
Causes the management server to compare the configuration file with its configuration cache | All MySQL 5.6 based releases |
|
Causes the management server reload its configuration data from the configuration file, bypassing the configuration cache | All MySQL 5.6 based releases |
|
Do not wait for these management nodes when starting this management server. Also requires --ndb-nodeid to be used. | All MySQL 5.6 based releases |
|
Enable the management server configuration cache; ON by default. | All MySQL 5.6 based releases |
|
Used to install the management server process as a Windows service. Does not apply on non-Windows platforms. | All MySQL 5.6 based releases |
|
Used to remove a management server process that was previously installed as a Windows service, optionally specifying the name of the service to be removed. Does not apply on non-Windows platforms. | All MySQL 5.6 based releases |
Command-Line Format | --bind-address=ip_address |
||
Permitted Values | |||
Type | string |
||
Default | [none] |
When specified, this option limits management server connections by management clients to clients at
the specified host name or IP address (and possibly port, if this is also specified). In such cases,
a management client attempting to connect to the management server from any other address fails with
the error Unable to setup port: host
:port
!
If the port
is not specified, the management client
attempts to use port 1186.
Command-Line Format | --no-nodeid-checks |
||
Permitted Values | |||
Type | boolean |
||
Default | FALSE |
Do not perform any checks of node IDs.
Command-Line Format | --configdir=directory |
||
Permitted Values | |||
Type | file name |
||
Default | $INSTALLDIR/mysql-cluster |
Specifies the cluster management server's configuration cache directory. --config-dir
is an alias for this option.
This option,
whose default value is 1
(or TRUE
, or ON
), can be used to disable the management server's configuration cache,
so that it reads its configuration from config.ini
every time it starts
(see Section 17.3.2, "MySQL Cluster Configuration
Files"). You can do this by starting the ndb_mgmd process with any one of the following
options:
Using one of the options just listed is effective only if the management server has no stored
configuration at the time it is started. If the management server finds any configuration cache
files, then the --config-cache
option or the --skip-config-cache
option is ignored. Therefore, to disable configuration caching, the option should be used the first time that the management server is started.
Otherwise—that is, if you wish to disable configuration caching for a management server that has
already created a configuration cache—you must stop the
management server, delete any existing configuration cache files manually, then restart the
management server with --skip-config-cache
(or with --config-cache
set equal to 0, OFF
, or
FALSE
).
Configuration cache files are normally created in a directory named mysql-cluster
under the installation directory (unless this location has been overridden using the --configdir
option). Each time the management server updates its
configuration data, it writes a new cache file. The files are named sequentially in order of
creation using the following format:
ndb_node-id
_config.bin.seq-number
node-id
is the management server's node ID; seq-number
is a sequence number, beginning with 1. For
example, if the management server's node ID is 5, then the first three configuration cache files
would, when they are created, be named ndb_5_config.bin.1
, ndb_5_config.bin.2
, and ndb_5_config.bin.3
.
If your intent is to purge or reload the configuration cache without actually disabling caching, you
should start ndb_mgmd with one of the options --reload
or --initial
instead of --skip-config-cache
.
To re-enable the configuration cache, simply restart the management server, but without the --config-cache
or --skip-config-cache
option
that was used previously to disable the configuration cache.
ndb_mgmd does not check for the configuration
directory (--configdir
)
or attempts to create one when --skip-config-cache
is used. (Bug
#13428853)
--config-file=
, filename
-f
filename
Command-Line Format | --config-file=file |
||
-f |
|||
Permitted Values | |||
Type | file name |
||
Default | ./config.ini |
||
Permitted Values | |||
Type | file name |
||
Default | [none] |
Instructs the management server as to which file it should use for its configuration file. By
default, the management server looks for a file named config.ini
in
the same directory as the ndb_mgmd executable; otherwise the file name and
location must be specified explicitly.
This option has no default value, and is ignored unless the management server is forced to read the
configuration file, either because ndb_mgmd was started with the --reload
or --initial
option, or because the management server could not find
any configuration cache. This option is also read if ndb_mgmd was started with --config-cache=OFF
. See Section
17.3.2, "MySQL Cluster Configuration Files", for more information.
Formerly, using this option together with --initial
caused removal of the configuration cache even if the file
was not found. This issue was resolved in MySQL Cluster NDB 7.3.2. (Bug #1299289)
Command-Line Format | --mycnf |
||
Permitted Values | |||
Type | boolean |
||
Default | FALSE |
Read configuration data from the my.cnf
file.
Command-Line Format | --daemon |
||
-d |
|||
Permitted Values | |||
Type | boolean |
||
Default | TRUE |
Instructs ndb_mgmd to start as a daemon process. This is the default behavior.
This option has no effect when running ndb_mgmd on Windows platforms.
Command-Line Format | --interactive |
||
Permitted Values | |||
Type | boolean |
||
Default | FALSE |
Starts ndb_mgmd in interactive mode; that is, an ndb_mgm client session is started as soon as the management server is running. This option does not start any other MySQL Cluster nodes.
Command-Line Format | --initial |
||
Permitted Values | |||
Type | boolean |
||
Default | FALSE |
Configuration data is cached internally, rather than being read from the cluster global
configuration file each time the management server is started (see Section
17.3.2, "MySQL Cluster Configuration Files"). Using the --initial
option overrides this behavior, by forcing the management
server to delete any existing cache files, and then to re-read the configuration data from the
cluster configuration file and to build a new cache.
This differs in two ways from the --reload
option. First, --reload
forces
the server to check the configuration file against the cache and reload its data only if the
contents of the file are different from the cache. Second, --reload
does
not delete any existing cache files.
If ndb_mgmd is invoked with --initial
but cannot find a global configuration file, the management server cannot start.
When a management server starts, it checks for another management server in the same MySQL Cluster
and tries to use the other management server's configuration data; ndb_mgmd ignores --initial
unless it is the only management server running. This
behavior also has implications when performing a rolling restart of a MySQL Cluster with multiple
management nodes. See Section
17.5.5, "Performing a Rolling Restart of a MySQL Cluster", for more information.
Formerly, using this option together with the --config-file
option caused removal of the configuration cache even if
the file was not found. Starting with MySQL Cluster NDB 7.3.2, the cache is cleared in such cases
only if the configuration file is actually found. (Bug #1299289)
Command-Line Format | --log-name=name |
||
Permitted Values | |||
Type | string |
||
Default | MgmtSrvr |
Provides a name to be used for this node in the cluster log.
Command-Line Format | --nodaemon |
||
Permitted Values | |||
Type | boolean |
||
Default | FALSE |
Instructs ndb_mgmd not to start as a daemon process.
The default behavior for ndb_mgmd on Windows is to run in the foreground, making this option unnecessary on Windows platforms.
Command-Line Format | --print-full-config |
||
-P |
|||
Permitted Values | |||
Type | boolean |
||
Default | FALSE |
Shows extended information regarding the configuration of the cluster. With this option on the
command line the ndb_mgmd process prints information about the
cluster setup including an extensive list of the cluster configuration sections as well as
parameters and their values. Normally used together with the --config-file
(-f
) option.
Command-Line Format | --reload |
||
Permitted Values | |||
Type | boolean |
||
Default | FALSE |
In MySQL Cluster NDB 7.3, configuration data is stored internally rather than being read from the cluster global configuration file each time the management server is started (see Section 17.3.2, "MySQL Cluster Configuration Files"). Using this option forces the management server to check its internal data store against the cluster configuration file and to reload the configuration if it finds that the configuration file does not match the cache. Existing configuration cache files are preserved, but not used.
This differs in two ways from the --initial
option. First, --initial
causes
all cache files to be deleted. Second, --initial
forces the management
server to re-read the global configuration file and construct a new cache.
If the management server cannot find a global configuration file, then the --reload
option is ignored.
When a management server starts, it checks for another management server in the same MySQL Cluster
and tries to use the other management server's configuration data; ndb_mgmd ignores --reload
unless it is the only management server running. This
behavior also has implications when performing a rolling restart of a MySQL Cluster with multiple
management nodes. See Section
17.5.5, "Performing a Rolling Restart of a MySQL Cluster", for more information.
Command-Line Format | --nowait-nodes=list |
||
Permitted Values | |||
Type | numeric |
||
Default |
|
||
Range | 1 .. 255 |
When starting a MySQL Cluster is configured with two management nodes, each management server normally checks to see whether the other ndb_mgmd is also operational and whether the other management server's configuration is identical to its own. However, it is sometimes desirable to start the cluster with only one management node (and perhaps to allow the other ndb_mgmd to be started later). This option causes the management node to bypass any checks for any other management nodes whose node IDs are passed to this option, permitting the cluster to start as though configured to use only the management node that was started.
For purposes of illustration, consider the following portion of a config.ini
file (where we have omitted most of the configuration
parameters that are not relevant to this example):
[ndbd]NodeId = 1HostName = 192.168.0.101[ndbd]NodeId = 2HostName = 192.168.0.102[ndbd]NodeId = 3HostName = 192.168.0.103[ndbd]NodeId = 4HostName = 192.168.0.104[ndb_mgmd]NodeId = 10HostName = 192.168.0.150[ndb_mgmd]NodeId = 11HostName = 192.168.0.151[api]NodeId = 20HostName = 192.168.0.200[api]NodeId = 21HostName = 192.168.0.201
Assume that you wish to start this cluster using only the management server having node ID 10
and running on the host having the IP address 192.168.0.150. (Suppose,
for example, that the host computer on which you intend to the other management server is
temporarily unavailable due to a hardware failure, and you are waiting for it to be repaired.) To
start the cluster in this way, use a command line on the machine at 192.168.0.150 to enter the
following command:
shell> ndb_mgmd --ndb-nodeid=10
--nowait-nodes=11
As shown in the preceding example, when using --nowait-nodes
, you must also use the --ndb-nodeid
option to specify the node ID of this ndb_mgmd process.
You can then start each of the cluster's data nodes in the usual way. If you wish to start and use the second management server in addition to the first management server at a later time without restarting the data nodes, you must start each data node with a connectstring that references both management servers, like this:
shell> ndbd -c
192.168.0.150,192.168.0.151
The same is true with regard to the connectstring used with any mysqld processes that you wish to start as MySQL Cluster SQL nodes connected to this cluster. See Section 17.3.2.3, "The MySQL Cluster Connectstring", for more information.
When used with ndb_mgmd, this option affects the behavior of the
management node with regard to other management nodes only. Do not confuse it with the --nowait-nodes
option used with ndbd
or ndbmtd to permit a cluster to start with fewer
than its full complement of data nodes; when used with data nodes, this option affects their
behavior only with regard to other data nodes.
Multiple management node IDs may be passed to this option as a comma-separated list. Each node ID must be no less than 1 and no greater than 255. In practice, it is quite rare to use more than two management servers for the same MySQL Cluster (or to have any need for doing so); in most cases you need to pass to this option only the single node ID for the one management server that you do not wish to use when starting the cluster.
When you later start the "missing" management server, its configuration must match that of the management server that is already in use by the cluster. Otherwise, it fails the configuration check performed by the existing management server, and does not start.
It is not strictly necessary to specify a connectstring when starting the management server. However, if you are using more than one management server, a connectstring should be provided and each node in the cluster should specify its node ID explicitly.
See Section 17.3.2.3, "The MySQL Cluster Connectstring", for information about using connectstrings. Section 17.4.4, "ndb_mgmd — The MySQL Cluster Management Server Daemon", describes other options for ndb_mgmd.
The following files are created or used by ndb_mgmd in its starting directory, and are placed in the DataDir
as
specified in the config.ini
configuration file. In the list that follows, node_id
is the unique node identifier.
config.ini
is the
configuration file for the cluster as a whole. This file is created by the user and read by the
management server. Section 17.3, "Configuration
of MySQL Cluster NDB 7.3", discusses how to set up this file.
ndb_
is the cluster events log file. Examples of such events include checkpoint startup and completion, node
startup events, node failures, and levels of memory usage. A complete listing of cluster events with
descriptions may be found in Section 17.5, "Management of
MySQL Cluster". node_id
_cluster.log
When the size of the cluster log reaches one million bytes, the file is renamed to ndb_
, where node_id
_cluster.log.seq_id
seq_id
is the sequence number of the cluster log file.
(For example: If files with the sequence numbers 1, 2, and 3 already exist, the next log file is
named using the number 4
.)
ndb_
is the file used for node_id
_out.logstdout
and stderr
when
running the management server as a daemon.
ndb_
is the process ID file used when running
the management server as a daemon. node_id
.pid
Command-Line Format | --install[=name] |
||
Permitted Values | |||
Type | string |
||
Default | ndb_mgmd |
Causes ndb_mgmd to be installed as a Windows service.
Optionally, you can specify a name for the service; if not set, the service name defaults to ndb_mgmd
. Although it is preferable to specify other ndb_mgmd program options in a my.ini
or my.cnf
configuration file,
it is possible to use them together with --install
. However, in such cases, the --install
option must be specified first, before any other options
are given, for the Windows service installation to succeed.
It is generally not advisable to use this option together with the --initial
option, since this causes the configuration cache to be
wiped and rebuilt every time the service is stopped and started. Care should also be taken if you
intend to use any other ndb_mgmd options that affect the starting of the
management server, and you should make absolutely certain you fully understand and allow for any
possible consequences of doing so.
The --install
option has no effect on non-Windows platforms.
Command-Line Format | --remove[=name] |
||
Permitted Values | |||
Type | string |
||
Default | ndb_mgmd |
Causes an ndb_mgmd process that was previously installed as a
Windows service to be removed. Optionally, you can specify a name for the service to be uninstalled;
if not set, the service name defaults to ndb_mgmd
.
The --remove
option has no effect on non-Windows platforms.