3
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
4
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
6
.\" Manual: MySQL Database System
10
.TH "\FBNDBD\FR" "8" "03/01/2010" "MySQL 5\&.1" "MySQL Database System"
11
.\" -----------------------------------------------------------------
12
.\" * set default formatting
13
.\" -----------------------------------------------------------------
14
.\" disable hyphenation
16
.\" disable justification (adjust text to left margin only)
18
.\" -----------------------------------------------------------------
19
.\" * MAIN CONTENT STARTS HERE *
20
.\" -----------------------------------------------------------------
22
.\" MySQL Cluster: ndbd
23
.\" MySQL Cluster: data nodes
24
.\" data nodes (MySQL Cluster)
25
.\" storage nodes - see data nodes, ndbd
27
ndbd \- the MySQL Cluster data node daemon
29
.HP \w'\fBndbd\ \fR\fB\fIoptions\fR\fR\ 'u
30
\fBndbd \fR\fB\fIoptions\fR\fR
34
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\&.
36
In a MySQL Cluster, a set of
38
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\&.
39
.\" MySQL Cluster: administration
40
.\" MySQL Cluster: commands
41
.\" command options (MySQL Cluster): ndbd
42
.\" MySQL Cluster: ndbd process
44
The following table includes command options specific to the MySQL Cluster data node program
45
\fBndbd\fR\&. Additional descriptions follow the table\&. For options common to all MySQL Cluster programs, see
46
Section\ \&17.4.2, \(lqOptions Common to MySQL Cluster Programs\(rq\&.
52
.nr an-no-space-flag 1
60
All of these options also apply to the multi\-threaded version of this program \(em
61
\fBndbmtd\fR, which is available in MySQL Cluster NDB 7\&.0 \(em and you may substitute
65
wherever the latter occurs in this section\&.
69
For options common to all
72
Section\ \&17.4.2, \(lqOptions Common to MySQL Cluster Programs\(rq\&.
82
\fB\-\-bind\-address\fR
91
\fBVersion Introduced\fR
96
\fBCommand\-Line Format\fR
98
\-\-bind\-address=name
103
\fBPermitted Values \fR
118
to bind to a specific network interface (host name or IP address)\&. This option has no default value\&.
120
This option was added in MySQL 5\&.1\&.12\&.
140
\fBCommand\-Line Format\fR
147
\fBPermitted Values \fR
163
to execute as a daemon process\&. This is the default behavior\&.
165
can be used to prevent the process from running as a daemon\&.
167
This option has no effect when running
171
on Windows platforms\&.
182
.\" --initial option (ndbd)
183
.\" --initial option (ndbmtd)
192
\fBCommand\-Line Format\fR
199
\fBPermitted Values \fR
215
to perform an initial start\&. An initial start erases any files created for recovery purposes by earlier instances of
216
\fBndbd\fR\&. It also re\-creates recovery log files\&. Note that on some operating systems this process can take a substantial amount of time\&.
224
process under very special circumstances; this is because this option causes all files to be removed from the Cluster file system and all redo log files to be re\-created\&. These circumstances are listed here:
234
When performing a software upgrade which has changed the contents of any files\&.
245
When restarting the node with a new version of
257
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\&.
260
Use of this option prevents the
263
StartPartitionedTimeout
264
configuration parameters from having any effect\&.
270
.nr an-no-space-flag 1
279
affect either of the following:
289
Backup files that have already been created by the affected node
300
MySQL Cluster Disk Data files (see
301
Section\ \&17.5.10, \(lqMySQL Cluster Disk Data Tables\(rq)\&.
305
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\&.
308
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
310
necessary to do so\&.
321
.\" --initial-start option (ndbd)
322
.\" --initial-start option (ndbmtd)
323
\fB\-\-initial\-start\fR
332
\fBVersion Introduced\fR
337
\fBCommand\-Line Format\fR
344
\fBPermitted Values \fR
358
This option is used when performing a partial initial start of the cluster\&. Each node should be started with this option, as well as
359
\fB\-\-nowait\-nodes\fR\&.
361
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 \(em that is, omitting node 3:
367
shell> \fBndbd \-\-ndb\-nodeid=2 \-\-nowait\-nodes=3 \-\-initial\-start\fR
368
shell> \fBndbd \-\-ndb\-nodeid=4 \-\-nowait\-nodes=3 \-\-initial\-start\fR
369
shell> \fBndbd \-\-ndb\-nodeid=5 \-\-nowait\-nodes=3 \-\-initial\-start\fR
375
Prior to MySQL 5\&.1\&.19, it was not possible to perform DDL operations involving Disk Data tables on a partially started cluster\&. (See
376
\m[blue]\fBBug#24631\fR\m[]\&\s-2\u[1]\d\s+2\&.)
378
When using this option, you must also specify the node ID for the data node being started with the
379
\fB\-\-ndb\-nodeid\fR
382
This option was added in MySQL 5\&.1\&.11\&.
388
.nr an-no-space-flag 1
395
Do not confuse this option with the
396
\fB\-\-nowait\-nodes\fR
399
in MySQL Cluster NDB 7\&.0\&.10, which can be used to allow a cluster configured with multiple management servers to be started without all management servers being online\&.
412
.\" --nowait-nodes option (ndbd)
413
.\" --nowait-nodes option (ndbmtd)
414
\fB\-\-nowait\-nodes=\fR\fB\fInode_id_1\fR\fR\fB[, \fR\fB\fInode_id_2\fR\fR\fB[, \&.\&.\&.]]\fR
423
\fBVersion Introduced\fR
428
\fBCommand\-Line Format\fR
430
\-\-nowait\-nodes=list
435
\fBPermitted Values \fR
448
This option takes a list of data nodes which for which the cluster will not wait for before starting\&.
450
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
453
\fB\-\-nowait\-nodes=3,5\fR\&. In this case, the cluster starts as soon as nodes 2 and 4 connect, and does
456
StartPartitionedTimeout
457
milliseconds for nodes 3 and 5 to connect as it would otherwise\&.
459
If you wanted to start up the same cluster as in the previous example without one
461
\(em say, for example, that the host machine for node 3 has suffered a hardware failure \(em then start nodes 2, 4, and 5 with
462
\fB\-\-nowait\-nodes=3\fR\&. Then the cluster will start as soon as nodes 2, 4, and 5 connect and will not wait for node 3 to start\&.
464
This option was added in MySQL 5\&.1\&.9\&.
475
.\" --nodaemon option (ndbd)
476
.\" --nodaemon option (ndbmtd)
488
\fBCommand\-Line Format\fR
495
\fBPermitted Values \fR
510
\fBPermitted Values \fR
526
not to start as a daemon process\&. This is useful when
528
is being debugged and you want output to be redirected to the screen\&.
530
As of MySQL Cluster NDB 7\&.0\&.8, the default behavior for
534
on Windows is to run in the foreground, making this option unnecessary on Windows platforms\&. (\m[blue]\fBBug#45588\fR\m[]\&\s-2\u[2]\d\s+2)
545
.\" --nostart option (ndbd)
547
.\" --nostart option (ndbmtd)
548
.\" -n option (ndbmtd)
558
\fBCommand\-Line Format\fR
565
\fBPermitted Values \fR
581
not to start automatically\&. When this option is used,
583
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
585
command in the management client (see
586
Section\ \&17.5.2, \(lqCommands in the MySQL Cluster Management Client\(rq)\&.
588
.\" MySQL Cluster: log files
589
.\" log files (MySQL Cluster)
592
generates a set of log files which are placed in the directory specified by
596
configuration file\&.
598
These log files are listed below\&.
600
is the node\'s unique identifier\&. Note that
602
represents the node\'s unique identifier\&. For example,
604
is the error log generated by the data node whose node ID is
615
.\" MySQL Cluster: error logs
616
.\" error logs (MySQL Cluster)
617
ndb_\fInode_id\fR_error\&.log
618
is a file containing records of all crashes which the referenced
620
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:
626
Date/Time: Saturday 30 July 2004 \- 00:20:01
628
Message: Internal program error (failed ndbrequire)
630
Problem data: DbtupFixAlloc\&.cpp
631
Object of reference: DBTUP (Line: 173)
632
ProgramName: NDB Kernel
634
TraceFile: ndb_2_trace\&.log\&.2
643
exit codes and messages generated when a data node process shuts down prematurely can be found in
644
\m[blue]\fBndbd Error Messages\fR\m[]\&\s-2\u[3]\d\s+2\&.
650
.nr an-no-space-flag 1
657
\fIThe last entry in the error log file is not necessarily the newest one\fR
658
(nor is it likely to be)\&. Entries in the error log are
660
listed in chronological order; rather, they correspond to the order of the trace files as determined in the
661
ndb_\fInode_id\fR_trace\&.log\&.next
662
file (see below)\&. Error log entries are thus overwritten in a cyclical and not sequential fashion\&.
675
.\" MySQL Cluster: trace files
676
.\" trace files (MySQL Cluster)
677
ndb_\fInode_id\fR_trace\&.log\&.\fItrace_id\fR
678
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\&.
680
It is possible to configure the number of these trace files that will be created before old files are overwritten\&.
682
is a number which is incremented for each successive trace file\&.
693
ndb_\fInode_id\fR_trace\&.log\&.next
694
is the file that keeps track of the next trace file number to be assigned\&.
705
ndb_\fInode_id\fR_out\&.log
706
is a file containing any data output by the
708
process\&. This file is created only if
710
is started as a daemon, which is the default behavior\&.
721
ndb_\fInode_id\fR\&.pid
722
is a file containing the process ID of the
724
process when started as a daemon\&. It also functions as a lock file to avoid the starting of nodes with the same identifier\&.
735
ndb_\fInode_id\fR_signal\&.log
736
is a file used only in debug versions of
737
\fBndbd\fR, where it is possible to trace all incoming, outgoing, and internal messages with their data in the
742
It is recommended not to use a directory mounted through NFS because in some environments this can cause problems whereby the lock on the
744
file remains in effect even after the process has terminated\&.
747
\fBndbd\fR, 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\&.
753
shell> \fBndbd \-\-connect\-string="nodeid=2;host=ndb_mgmd\&.mysql\&.com:1186"\fR
760
Section\ \&17.3.2.3, \(lqThe MySQL Cluster Connectstring\(rq, for additional information about this issue\&.
761
\fBndbd\fR(8), describes other options for
766
starts, it actually initiates two processes\&. The first of these is called the
767
\(lqangel process\(rq; its only job is to discover when the execution process has been completed, and then to restart the
769
process if it is configured to do so\&. Thus, if you attempt to kill
773
command, it is necessary to kill both processes, beginning with the angel process\&. The preferred method of terminating an
775
process is to use the management client and stop the process from there\&.
777
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
779
process\&. In a multi\-processor system performing a large number of operations (including updates), the
781
process can consume up to 2 CPUs if permitted to do so\&.
783
For a machine with many CPUs it is possible to use several
785
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
786
Section\ \&17.1.5, \(lqKnown Limitations of MySQL Cluster\(rq\&.
790
Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc.
792
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.
794
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.
796
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/.
802
\%http://bugs.mysql.com/bug.php?id=24631
807
\%http://bugs.mysql.com/bug.php?id=45588
812
\%http://dev.mysql.com/doc/ndbapi/en/ndbd-error-messages.html
815
For more information, please refer to the MySQL Reference Manual,
816
which may already be installed locally and which is also available
817
online at http://dev.mysql.com/doc/.
819
Sun Microsystems, Inc. (http://www.mysql.com/).