NDBD(1M) MySQL Database System NDBD(1M)NAMEndbd - the storage engine node process
SYNOPSISndbd options
DESCRIPTIONndbd 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.
In MySQL versions prior to 4.1.5, each ndbd process should be started
in a separate directory, the reason for this being that ndbd generated
a set of log files in its starting directory. In MySQL 4.1.5, this
behavior was changed such that these files are placed in the directory
specified by DataDir in the configuration file. Thus ndbd can be
started from anywhere.
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 (was error.log in version 4.1.3) 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 [1]ndbd Error
Messages.
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 (was NDB_TraceFile_trace_id.trace in
version 4.1.3) 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 (was NextTraceFileNo.log in version
4.1.3) 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 beginning with MySQL 4.1.5. This file
was named nodenode_id.out in versions 4.1.3 and 4.1.4.
· 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 (was Signal.log in version 4.1.3) 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 hostname 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 3.4.2, “The Cluster Connectstring”, for additional
information about this issue. Section 6.2, “Command Options for MySQL
Cluster Processes”, 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
via 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 activites. 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 4.1 in a production setting. See Section 12, “Known Limitations
of MySQL Cluster”.
COPYRIGHT
Copyright 2007-2008 MySQL AB
This documentation is free software; you can redistribute it and/or
modify it 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/.
REFERENCES
1. 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
MySQL AB (http://www.mysql.com/).
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌────────────────────┬────────────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├────────────────────┼────────────────────────────────────┤
│Availability │ SUNWmysqlr, SUNWmysqlu, SUNWmysqlt │
├────────────────────┼────────────────────────────────────┤
│Interface Stability │ Obsolete External │
└────────────────────┴────────────────────────────────────┘
NOTES
Source for mysql is available in the SUNWmysqlS package.
MySQL 4.1 04/13/2008 NDBD(1M)