TCP/IP is the default transport mechanism for all connections between nodes in a MySQL Cluster. Normally it is not necessary to define TCP/IP connections; MySQL Cluster automatically sets up such connections for all data nodes, management nodes, and SQL or API nodes.
For an exception to this rule, see Section 17.3.2.9, “MySQL Cluster TCP/IP Connections Using Direct Connections”.
To override the default connection parameters, it is necessary
to define a connection using one or more
[tcp] sections in the
config.ini file. Each
[tcp] section explicitly defines a TCP/IP
connection between two MySQL Cluster nodes, and must contain at
a minimum the parameters
NodeId1 and
NodeId2, as well as any
connection parameters to override.
It is also possible to change the default values for these
parameters by setting them in the [tcp
default] section.
Any [tcp] sections in the
config.ini file should be listed
last, following all other sections in the
file. However, this is not required for a [tcp
default] section. This requirement is a known issue
with the way in which the config.ini file
is read by the MySQL Cluster management server.
Connection parameters which can be set in
[tcp] and [tcp default]
sections of the config.ini file are listed
here:
To identify a connection between two nodes it is necessary
to provide their node IDs in the [tcp]
section of the configuration file. These are the same unique
NodeId (or Id) values
for each of these nodes as described in
Section 17.3.2.7, “Defining SQL and Other API Nodes in a MySQL Cluster”.
The HostName1 and
HostName2 parameters can be used to
specify specific network interfaces to be used for a given
TCP connection between two nodes. The values used for these
parameters can be hostnames or IP addresses.
When more than this many unsent bytes are in the send buffer, the connection is considered overloaded.
This parameter can be used to determine the amount of unsent data that must be present in the send buffer before the connection is considered overloaded. See Section 17.3.2.12, “Configuring MySQL Cluster Send Buffer Parameters”, for more information.
In some older releases, the effective value of this
parameter was limited by the size of
SendBufferMemory; in
MySQL Cluster NDB 7.2, the actual value for
OverloadLimit (up to the stated maximum
of 4G) is used instead.
TCP transporters use a buffer to store all messages before performing the send call to the operating system. When this buffer reaches 64KB its contents are sent; these are also sent when a round of messages have been executed. To handle temporary overload situations it is also possible to define a bigger send buffer.
If this parameter is set explicitly, then the memory is not
dedicated to each transporter; instead, the value used
denotes the hard limit for how much memory (out of the total
available memory—that is,
TotalSendBufferMemory) that may be used
by a single transporter. For more information about
configuring dynamic transporter send buffer memory
allocation in MySQL Cluster, see
Section 17.3.2.12, “Configuring MySQL Cluster Send Buffer Parameters”.
The default size of the send buffer in MySQL Cluster NDB 7.2 is 2MB, which is the size recommended in most situations. The minimum size is 64 KB; the theoretical maximum is 4 GB.
To be able to retrace a distributed message datagram, it is
necessary to identify each message. When this parameter is
set to Y, message IDs are transported
over the network. This feature is disabled by default in
production builds, and enabled in -debug
builds.
This parameter is a boolean parameter (enabled by setting it
to Y or 1, disabled by
setting it to N or 0).
It is disabled by default. When it is enabled, checksums for
all messages are calculated before they placed in the send
buffer. This feature ensures that messages are not corrupted
while waiting in the send buffer, or by the transport
mechanism.
This formerly specified the port number to be used for
listening for connections from other nodes. This parameter
should no longer be used; use the
ServerPort data node
configuration parameter for this purpose instead.
Specifies the size of the buffer used when receiving data from the TCP/IP socket.
The default value of this parameter is 2MB. The minimum possible value is 16KB; the theoretical maximum is 4GB.
Determines the size of the receive buffer set during TCP transporter initialization. The default is recommended for most common usage cases.
Determines the size of the send buffer set during TCP transporter initialization. The default is recommended for most common usage cases.