MySQL Forums
Forum List  »  NDB clusters

Re: Data Node Install/Configuration
Posted by: Jon Stephens
Date: February 15, 2017 08:16PM

MySQL NDB Cluster is a *distributed* RDBMS. The data is distributed amongst several data nodes. One or more MySQL Servers act as clients of NDB, and are referred to in this context as "SQL nodes". An SQL node retrieves data over the network from the data nodes. It does not need to be on the same host as any of the data nodes. So nothing relating to the MySQL Server needs to be present on a data node host. You *can* run an SQL node on the same host as a data node, but this is not required, and probably not recommended for heavy loads.

The only executable file needed for a data node is a data node binary. You can choose either the single-threaded version ndbd or the multi-threaded version ndbmtd. This binary can be located anywhere that is convenient on the system hosting the data node. It is not a good idea to run it as system root, but otherwise it should not matter what user the binary runs as.

No other files are required (ADDED: but see the next paragraph) on the data node--simply a directory that the data node binary can write to (and read from, of course). This is set using the DataDir configuration parameter; the default is "." (the same directory as the data node binary).

(ADDED the following paragraph after realising that, while I usually just pass the connection string on the command line when doing tests, you might prefer to put this info in an option file. Sorry for the omission.)

The data node binary does have some startup options that can be used on the command line or set in an option file. Use "ndbd -?" (or "ndbmtd -?") to see where the data node binary will look for this file. The only required option is --ndb-connectstring (short form: -c), which tells the data node binary where to find the management server. You can also pass this information to the data node binary using the NDB_CONNECTSTRING environment variable.

The NDB Cluster configuration file (usually named "config.ini") is read by the management server (ndb_mgmd), and so should be located on the system where the management server is running. Data nodes obtain configuration information (again, over the network) from the management server. The management server is not required to be on the same host as any other node. All nodes in a given NDB Cluster must be able to communicate with each other over the network. This should be a dedicated, low-latency network with at least 100 Mbps connectivity. For best results, any other traffic on this network should be kept to an minimum. To help maintain security, the network should not be accessible from outside.

Hope this helps clear things up for you. Check out the Core Concepts section and sections immediately following it in the NDB Cluster documentation (including some diagrams that we hope will help you visualise things) if you've not done so already, and feel free to ask any additional questions in this forum.


Jon Stephens
MySQL Documentation Team @ Oracle

MySQL Dev Zone
MySQL Server Documentation

Edited 1 time(s). Last edit at 02/15/2017 08:31PM by Jon Stephens.

Options: ReplyQuote

Written By
February 15, 2017 05:04AM
Re: Data Node Install/Configuration
February 15, 2017 08:16PM

Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.