NDB Cluster attempts to use the shared memory transporter and
configure it automatically where possible.
[shm]
sections in the
config.ini
file explicitly define
shared-memory connections between nodes in the cluster. When
explicitly defining shared memory as the connection method, it
is necessary to define at least
NodeId1
,
NodeId2
, and
ShmKey
. All other
parameters have default values that should work well in most
cases.
SHM functionality is considered experimental only. It is not officially supported in any current NDB Cluster release, and testing results indicate that SHM performance is not appreciably greater than when using TCP/IP for the transporter.
For these reasons, you must determine for yourself or by using our free resources (forums, mailing lists) whether SHM can be made to work correctly in your specific case.
-
Version (or later) NDB 7.3.1 Type or units boolean Default true Range true, false Restart Type N (NDB 7.3.1)
This parameter is a boolean (
Y
/N
) parameter which is disabled by default. When it is enabled, checksums for all messages are calculated before being placed in the send buffer.This feature prevents messages from being corrupted while waiting in the send buffer. It also serves as a check against data being corrupted during transport.
-
Version (or later) NDB 7.3.1 Type or units unsigned Default 35 Range 0 - 200 Restart Type N (NDB 7.3.1)
Determines the group proximity; a smaller value is interpreted as being closer. The default value is sufficient for most conditions.
-
Version (or later) NDB 7.3.1 Type or units name or IP address Default [...] Range ... Restart Type N (NDB 7.3.1)
The
HostName1
andHostName2
parameters can be used to specify specific network interfaces to be used for a given SHM connection between two nodes. The values used for these parameters can be host names or IP addresses. -
Version (or later) NDB 7.3.1 Type or units name or IP address Default [...] Range ... Restart Type N (NDB 7.3.1)
The
HostName1
andHostName2
parameters can be used to specify specific network interfaces to be used for a given SHM connection between two nodes. The values used for these parameters can be host names or IP addresses. -
Version (or later) NDB 7.3.1 Type or units numeric Default [none] Range 1 - 255 Restart Type N (NDB 7.3.1)
To identify a connection between two nodes it is necessary to provide node identifiers for each of them, as
NodeId1
andNodeId2
. -
Version (or later) NDB 7.3.1 Type or units numeric Default [none] Range 1 - 255 Restart Type N (NDB 7.3.1)
To identify a connection between two nodes it is necessary to provide node identifiers for each of them, as
NodeId1
andNodeId2
. -
Version (or later) NDB 7.3.1 Type or units numeric Default [none] Range 1 - 63 Restart Type N (NDB 7.3.1)
Identify the server end of a shared memory connection.
-
Version (or later) NDB 7.3.1 Type or units bytes Default 0 Range 0 - 4294967039 (0xFFFFFEFF) Restart Type N (NDB 7.3.1)
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 18.4.3.12, “Configuring NDB Cluster Send Buffer Parameters”, for more information.
-
Version (or later) NDB 7.3.1 Type or units unsigned Default [...] Range 0 - 64K Restart Type S (NDB 7.3.1)
Set the port to be used by the SHM transporter.
-
Version (or later) NDB 7.3.1 Type or units boolean Default false Range true, false Restart Type N (NDB 7.3.1)
To retrace the path of a distributed message, it is necessary to provide each message with a unique identifier. Setting this parameter to
Y
causes these message IDs to be transported over the network as well. This feature is disabled by default in production builds, and enabled in-debug
builds. -
Version (or later) NDB 7.3.1 Type or units unsigned Default 0 Range 0 - 4294967039 (0xFFFFFEFF) Restart Type N (NDB 7.3.1)
When setting up shared memory segments, a node ID, expressed as an integer, is used to identify uniquely the shared memory segment to use for the communication. There is no default value.
-
Version (or later) NDB 7.3.1 Type or units bytes Default 1M Range 64K - 4294967039 (0xFFFFFEFF) Restart Type N (NDB 7.3.1)
Each SHM connection has a shared memory segment where messages between nodes are placed by the sender and read by the reader. The size of this segment is defined by
ShmSize
. The default value is 1MB. -
Version (or later) NDB 7.3.1 Type or units unsigned Default [...] Range 0 - 4294967039 (0xFFFFFEFF) Deprecated Yes (in NDB 7.6) Restart Type N (NDB 7.3.1)
When using the shared memory transporter, a process sends an operating system signal to the other process when there is new data available in the shared memory. Should that signal conflict with an existing signal, this parameter can be used to change it. This is a possibility when using SHM due to the fact that different operating systems use different signal numbers.
The default value of
SigNum
is 0; therefore, it must be set to avoid errors in the cluster log when using the shared memory transporter. Typically, this parameter is set to 10 in the[shm default]
section of theconfig.ini
file.
Restart types. Information about the restart types used by the parameter descriptions in this section is shown in the following table:
Table 18.15 NDB Cluster restart types
Symbol | Restart Type | Description |
---|---|---|
N | Node | The parameter can be updated using a rolling restart (see Section 18.6.5, “Performing a Rolling Restart of an NDB Cluster”) |
S | System | All cluster nodes must be shut down completely, then restarted, to effect a change in this parameter |
I | Initial | Data nodes must be restarted using the
--initial option |