ndbd man page on QNX
[printable version]
NDBD(8) MySQL Database System NDBD(8)
NAME
ndbd - the MySQL Cluster data node daemon
SYNOPSIS
ndbd options
DESCRIPTION
ndbd is the process that is used to handle all the data in tables using
the NDB Cluster storage engine. This is the process that empowers a
data node to accomplish distributed transaction handling, node
recovery, checkpointing to disk, online backup, and related tasks.
In a MySQL Cluster, a set of ndbd processes cooperate in handling data.
These processes can execute on the same computer (host) or on different
computers. The correspondences between data nodes and Cluster hosts is
completely configurable.
The following table includes command options specific to the MySQL
Cluster data node program ndbd. Additional descriptions follow the
table. For options common to all MySQL Cluster programs, see
Section 17.4.2, “Options Common to MySQL Cluster Programs”.
Note
All of these options also apply to the multi-threaded version of
this program (ndbmtd, available in MySQL Cluster NDB 7.0 and later)
and you may substitute “ndbmtd” for “ndbd” wherever the latter
occurs in this section.
For options common to all NDBCLUSTER programs, see Section 17.4.2,
“Options Common to MySQL Cluster Programs”.
· --bind-address
┌─────────────┬─────────────────────┐
│Version │ 5.1.12 │
│Introduced │ │
├─────────────┼─────────────────────┤
│Command-Line │ --bind-address=name │
│Format │ │
├─────────────┼─────────────────────┤
│ │ Permitted Values │
│ ├──────────┬──────────┤
│ │ Type │ string │
│ ├──────────┼──────────┤
│ │ Default │ │
└─────────────┴──────────┴──────────┘
Causes ndbd to bind to a specific network interface (host name or
IP address). This option has no default value.
This option was added in MySQL 5.1.12.
· --daemon, -d
┌─────────────┬───────────────────┐
│Command-Line │ --daemon │
│Format │ │
├─────────────┼───────────────────┤
│ │ -d │
├─────────────┼───────────────────┤
│ │ Permitted Values │
│ ├─────────┬─────────┤
│ │ Type │ boolean │
│ ├─────────┼─────────┤
│ │ Default │ TRUE │
└─────────────┴─────────┴─────────┘
Instructs ndbd to execute as a daemon process. This is the default
behavior. --nodaemon can be used to prevent the process from
running as a daemon.
This option has no effect when running ndbd or ndbmtd on Windows
platforms.
· --initial
┌─────────────┬───────────────────┐
│Command-Line │ --initial │
│Format │ │
├─────────────┼───────────────────┤
│ │ Permitted Values │
│ ├─────────┬─────────┤
│ │ Type │ boolean │
│ ├─────────┼─────────┤
│ │ Default │ FALSE │
└─────────────┴─────────┴─────────┘
Instructs ndbd to perform an initial start. An initial start erases
any files created for recovery purposes by earlier instances of
ndbd. It also re-creates recovery log files. Note that on some
operating systems this process can take a substantial amount of
time.
An --initial start is to be used only when starting the ndbd
process under very special circumstances; this is because this
option causes all files to be removed from the MySQL Cluster file
system and all redo log files to be re-created. These circumstances
are listed here:
· When performing a software upgrade which has changed the
contents of any files.
· When restarting the node with a new version of ndbd.
· As a measure of last resort when for some reason the node
restart or system restart repeatedly fails. In this case, be
aware that this node can no longer be used to restore data due
to the destruction of the data files.
Use of this option prevents the StartPartialTimeout and
StartPartitionedTimeout configuration parameters from having
any effect.
Important
This option does not affect either of the following types
of files:
· Backup files that have already been created by the
affected node
· MySQL Cluster Disk Data files (see Section 17.5.10,
“MySQL Cluster Disk Data Tables”).
This option also has no effect on recovery of data by a
data node that is just starting (or restarting) from
data nodes that are already running. This recovery of
data occurs automatically, and requires no user
intervention in a MySQL Cluster that is running
normally.
It is permissible to use this option when starting the
cluster for the very first time (that is, before any data
node files have been created); however, it is not necessary
to do so.
· --initial-start
┌─────────────┬───────────────────┐
│Version │ 5.1.11 │
│Introduced │ │
├─────────────┼───────────────────┤
│Command-Line │ --initial-start │
│Format │ │
├─────────────┼───────────────────┤
│ │ Permitted Values │
│ ├─────────┬─────────┤
│ │ Type │ boolean │
│ ├─────────┼─────────┤
│ │ Default │ FALSE │
└─────────────┴─────────┴─────────┘
This option is used when performing a partial initial start
of the cluster. Each node should be started with this
option, as well as --nowait-nodes.
Suppose that you have a 4-node cluster whose data nodes
have the IDs 2, 3, 4, and 5, and you wish to perform a
partial initial start using only nodes 2, 4, and 5—that is,
omitting node 3:
shell> ndbd --ndb-nodeid=2 --nowait-nodes=3 --initial-start
shell> ndbd --ndb-nodeid=4 --nowait-nodes=3 --initial-start
shell> ndbd --ndb-nodeid=5 --nowait-nodes=3 --initial-start
Prior to MySQL 5.1.19, it was not possible to perform DDL
operations involving Disk Data tables on a partially
started cluster. (See Bug#24631[1].)
When using this option, you must also specify the node ID
for the data node being started with the --ndb-nodeid
option.
This option was added in MySQL 5.1.11.
Important
Do not confuse this option with the --nowait-nodes
option added for ndb_mgmd in MySQL Cluster NDB 7.0.10,
which can be used to enable a cluster configured with
multiple management servers to be started without all
management servers being online.
· --nowait-nodes=node_id_1[, node_id_2[, ...]]
┌─────────────┬─────────────────────┐
│Version │ 5.1.9 │
│Introduced │ │
├─────────────┼─────────────────────┤
│Command-Line │ --nowait-nodes=list │
│Format │ │
├─────────────┼─────────────────────┤
│ │ Permitted Values │
│ ├──────────┬──────────┤
│ │ Type │ string │
│ ├──────────┼──────────┤
│ │ Default │ │
└─────────────┴──────────┴──────────┘
This option takes a list of data nodes which for which the
cluster will not wait for before starting.
This can be used to start the cluster in a partitioned
state. For example, to start the cluster with only half of
the data nodes (nodes 2, 3, 4, and 5) running in a 4-node
cluster, you can start each ndbd process with
--nowait-nodes=3,5. In this case, the cluster starts as
soon as nodes 2 and 4 connect, and does not wait
StartPartitionedTimeout milliseconds for nodes 3 and 5 to
connect as it would otherwise.
If you wanted to start up the same cluster as in the
previous example without one ndbd (say, for example, that
the host machine for node 3 has suffered a hardware
failure) then start nodes 2, 4, and 5 with
--nowait-nodes=3. Then the cluster will start as soon as
nodes 2, 4, and 5 connect and will not wait for node 3 to
start.
This option was added in MySQL 5.1.9.
· --nodaemon
┌─────────────┬──────────────────────────┐
│Command-Line │ --nodaemon │
│Format │ │
├─────────────┼──────────────────────────┤
│ │ Permitted Values │
│ ├────────────────┬─────────┤
│ │ Type │ boolean │
│ ├────────────────┼─────────┤
│ │ Default │ FALSE │
├─────────────┼────────────────┴─────────┤
│ │ Permitted Values │
│ ├────────────────┬─────────┤
│ │ Type (windows) │ boolean │
│ ├────────────────┼─────────┤
│ │ Default │ TRUE │
└─────────────┴────────────────┴─────────┘
Instructs ndbd not to start as a daemon process. This is
useful when ndbd is being debugged and you want output to
be redirected to the screen.
As of MySQL Cluster NDB 7.0.8, the default behavior for
ndbd and ndbmtd on Windows is to run in the foreground,
making this option unnecessary on Windows platforms.
(Bug#45588[2])
· --nostart, -n
┌─────────────┬───────────────────┐
│Command-Line │ --nostart │
│Format │ │
├─────────────┼───────────────────┤
│ │ -n │
├─────────────┼───────────────────┤
│ │ Permitted Values │
│ ├─────────┬─────────┤
│ │ Type │ boolean │
│ ├─────────┼─────────┤
│ │ Default │ FALSE │
└─────────────┴─────────┴─────────┘
Instructs ndbd not to start automatically. When this option
is used, ndbd connects to the management server, obtains
configuration data from it, and initializes communication
objects. However, it does not actually start the execution
engine until specifically requested to do so by the
management server. This can be accomplished by issuing the
proper START command in the management client (see
Section 17.5.2, “Commands in the MySQL Cluster Management
Client”).
· --install[=name]
┌─────────────┬─────────────────────────┐
│Version │ 5.1.47-ndb-7.1.5 │
│Introduced │ │
├─────────────┼─────────────────────────┤
│Command-Line │ --install[=name] │
│Format │ │
├─────────────┼─────────────────────────┤
│ │ Permitted Values │
│ ├────────────────┬────────┤
│ │ Type (windows) │ string │
│ ├────────────────┼────────┤
│ │ Default │ ndbd │
└─────────────┴────────────────┴────────┘
Causes ndbd to be installed as a Windows service.
Optionally, you can specify a name for the service; if not
set, the service name defaults to ndbd. Although it is
preferable to specify other ndbd program options in a
my.ini or my.cnf configuration file, it is possible to use
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 data node
filesystem to be wiped and rebuilt every time the service
is stopped and started. Extreme care should also be taken
if you intend to use any of the other ndbd options that
affect the starting of data nodes—including
--initial-start, --nostart, and --nowait-nodes—together
with --install, 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.
This option became available in MySQL Cluster NDB 7.0.16
and MySQL Cluster NDB 7.1.5.
· --remove[=name]
┌─────────────┬─────────────────────────┐
│Version │ 5.1.47-ndb-7.1.5 │
│Introduced │ │
├─────────────┼─────────────────────────┤
│Command-Line │ --remove[=name] │
│Format │ │
├─────────────┼─────────────────────────┤
│ │ Permitted Values │
│ ├────────────────┬────────┤
│ │ Type (windows) │ string │
│ ├────────────────┼────────┤
│ │ Default │ ndbd │
└─────────────┴────────────────┴────────┘
Causes an ndbd 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 ndbd.
The --remove option has no effect on non-Windows platforms.
This option became available in MySQL Cluster NDB 7.0.16
and MySQL Cluster NDB 7.1.5.
ndbd generates a set of log files which are placed in the
directory specified by DataDir in the config.ini configuration
file.
These log files are listed below. node_id is the node´s unique
identifier. Note that node_id represents the node´s unique
identifier. For example, ndb_2_error.log is the error log
generated by the data node whose node ID is 2.
· ndb_node_id_error.log is a file containing records of all
crashes which the referenced ndbd process has encountered.
Each record in this file contains a brief error string and
a reference to a trace file for this crash. A typical entry
in this file might appear as shown here:
Date/Time: Saturday 30 July 2004 - 00:20:01
Type of error: error
Message: Internal program error (failed ndbrequire)
Fault ID: 2341
Problem data: DbtupFixAlloc.cpp
Object of reference: DBTUP (Line: 173)
ProgramName: NDB Kernel
ProcessID: 14909
TraceFile: ndb_2_trace.log.2
***EOM***
Listings of possible ndbd exit codes and messages generated
when a data node process shuts down prematurely can be
found in ndbd Error Messages[3].
Important
The last entry in the error log file is not necessarily
the newest one (nor is it likely to be). Entries in the
error log are not listed in chronological order;
rather, they correspond to the order of the trace files
as determined in the ndb_node_id_trace.log.next file
(see below). Error log entries are thus overwritten in
a cyclical and not sequential fashion.
· ndb_node_id_trace.log.trace_id is a trace file describing
exactly what happened just before the error occurred. This
information is useful for analysis by the MySQL Cluster
development team.
It is possible to configure the number of these trace files
that will be created before old files are overwritten.
trace_id is a number which is incremented for each
successive trace file.
· ndb_node_id_trace.log.next is the file that keeps track of
the next trace file number to be assigned.
· ndb_node_id_out.log is a file containing any data output by
the ndbd process. This file is created only if ndbd is
started as a daemon, which is the default behavior.
· ndb_node_id.pid is a file containing the process ID of the
ndbd process when started as a daemon. It also functions as
a lock file to avoid the starting of nodes with the same
identifier.
· ndb_node_id_signal.log is a file used only in debug
versions of ndbd, where it is possible to trace all
incoming, outgoing, and internal messages with their data
in the ndbd process.
It is recommended not to use a directory mounted through NFS
because in some environments this can cause problems whereby
the lock on the .pid file remains in effect even after the
process has terminated.
To start ndbd, it may also be necessary to specify the host
name of the management server and the port on which it is
listening. Optionally, one may also specify the node ID that
the process is to use.
shell> ndbd --connect-string="nodeid=2;host=ndb_mgmd.mysql.com:1186"
See Section 17.3.2.3, “The MySQL Cluster Connectstring”, for
additional information about this issue. ndbd(8), describes
other options for ndbd.
When ndbd starts, it actually initiates two processes. The
first of these is called the “angel process”; its only job is
to discover when the execution process has been completed, and
then to restart the ndbd process if it is configured to do so.
Thus, if you attempt to kill ndbd using the Unix kill command,
it is necessary to kill both processes, beginning with the
angel process. The preferred method of terminating an ndbd
process is to use the management client and stop the process
from there.
The execution process uses one thread for reading, writing, and
scanning data, as well as all other activities. This thread is
implemented asynchronously so that it can easily handle
thousands of concurrent actions. In addition, a watch-dog
thread supervises the execution thread to make sure that it
does not hang in an endless loop. A pool of threads handles
file I/O, with each thread able to handle one open file.
Threads can also be used for transporter connections by the
transporters in the ndbd process. In a multi-processor system
performing a large number of operations (including updates),
the ndbd process can consume up to 2 CPUs if permitted to do
so.
For a machine with many CPUs it is possible to use several ndbd
processes which belong to different node groups; however, such
a configuration is still considered experimental and is not
supported for MySQL 5.1 in a production setting. See
Section 17.1.5, “Known Limitations of MySQL Cluster”.
COPYRIGHT
Copyright © 1997, 2010, Oracle and/or its affiliates. All rights
reserved.
This documentation is free software; you can redistribute it and/or
modify it only under the terms of the GNU General Public License as
published by the Free Software Foundation; version 2 of the License.
This documentation is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License along
with the program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see
http://www.gnu.org/licenses/.
NOTES
1. Bug#24631
http://bugs.mysql.com/bug.php?id=24631
2. Bug#45588
http://bugs.mysql.com/bug.php?id=45588
3. ndbd Error Messages
http://dev.mysql.com/doc/ndbapi/en/ndbd-error-messages.html
SEE ALSO
For more information, please refer to the MySQL Reference Manual, which
may already be installed locally and which is also available online at
http://dev.mysql.com/doc/.
AUTHOR
Oracle Corporation (http://dev.mysql.com/).
MySQL 5.1 11/29/2010 NDBD(8)
[top]
_ _ _
| | | | | |
| | | | | |
__ | | __ __ | | __ __ | | __
\ \| |/ / \ \| |/ / \ \| |/ /
\ \ / / \ \ / / \ \ / /
\ / \ / \ /
\_/ \_/ \_/
More information is available in HTML format for server QNX
List of man pages available for QNX
Copyright (c) for man pages and the logo by the respective OS vendor.
For those who want to learn more, the polarhome community provides shell access and support.
[legal]
[privacy]
[GNU]
[policy]
[cookies]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
|
Vote for polarhome
|