 |
Index for Section 1 |
|
 |
Alphabetical listing for Special Characters |
|
 |
Bottom of page |
|
NDBD(1)
NAME
ndbd - the storage engine node process
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.
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. 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***
Note: It is very important to be aware that 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 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 4.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 5.0 in a
production setting. See Section 11, Known Limitations of MySQL Cluster.
COPYRIGHT
Copyright 1997-2007 MySQL AB
This documentation is NOT distributed under a GPL license. Use of this
documentation is subject to the following terms: You may create a printed
copy of this documentation solely for your own personal use. Conversion to
other formats is allowed as long as the actual content is not altered or
edited in any way. You shall not publish or distribute this documentation
in any form or on any media, except if you distribute the documentation in
a manner similar to how MySQL disseminates it (that is, electronically for
download on a Web site with the software) or on a CD-ROM or similar medium,
provided however that the documentation is disseminated together with the
software on the same medium. Any other use, such as any dissemination of
printed copies or use of this documentation, in whole or in part, in
another publication, requires the prior written consent from an authorized
representative of MySQL AB. MySQL AB reserves any and all rights to this
documentation not expressly granted above.
Please email <docs@mysql.com> for more information.
SEE ALSO
make_win_bin_dist(1), msql2mysql(1), my_print_defaults(1),
myisam_ftdump(1), myisamchk(1), myisamlog(1), myisampack(1), mysql(1),
mysql.server(1), mysql_config(1), mysql_explain_log(1),
mysql_fix_privilege_tables(1), mysql_install_db(1), mysql_tzinfo_to_sql(1),
mysql_upgrade(1), mysql_zap(1), mysqlaccess(1), mysqladmin(1),
mysqlbinlog(1), mysqlcheck(1), mysqld(8), mysqld_multi(1), mysqld_safe(1),
mysqldump(1), mysqlhotcopy(1), mysqlimport(1), mysqlmanager(8),
mysqlshow(1), ndb_config(1), ndb_cpcd(1), ndb_delete_all(1), ndb_desc(1),
ndb_drop_index(1), ndb_drop_table(1), ndb_error_reporter(1), ndb_mgm(1),
ndb_mgmd(1), ndb_print_backup_file(1), ndb_print_schema_file(1),
ndb_print_sys_file(1), ndb_restore(1), ndb_select_all(1),
ndb_select_count(1), ndb_show_tables(1), ndb_size.pl(1), ndb_waiter(1),
perror(1), replace(1), safe_mysqld(1)
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/). This software comes with no warranty.
 |
Index for Section 1 |
|
 |
Alphabetical listing for Special Characters |
|
 |
Top of page |
|