21.3.3.10 NDB 群集 TCP/IP 连接
TCP/IP 是 NDB 群集中节点之间所有连接的默认传输机制。通常,没有必要定义 TCP/IP 连接。 NDB 群集会自动为所有数据节点,Management 节点以及 SQL 或 API 节点设置此类连接。
Note
有关此规则的 exception,请参阅第 21.3.3.11 节“使用直接连接的 NDB 群集 TCP/IP 连接”。
要覆盖默认的连接参数,必须使用config.ini
文件中的一个或多个[tcp]
节来定义连接。每个[tcp]
部分明确定义了两个 NDB 群集节点之间的 TCP/IP 连接,并且必须至少包含参数NodeId1和NodeId2以及任何要覆盖的连接参数。
也可以通过在[tcp default]
部分中进行设置来更改这些参数的默认值。
Important
config.ini
文件中的任何[tcp]
部分应在文件的所有其他部分之后* last *列出。但是,[tcp default]
部分不是必需的。 NDB 群集 Management 服务器读取config.ini
文件的方式时,此要求是一个已知问题。
此处列出了可以在config.ini
文件的[tcp]
和[tcp default]
部分中设置的连接参数:
table21.207 此 table 提供了 Checksum TCP 配置参数的类型和值信息
Property | Value |
---|---|
版本(或更高版本) | NDB 7.5.0 |
类型或单位 | boolean |
Default | false |
Range | true, false |
Restart Type | N |
此参数是布尔参数(通过将其设置为Y
或1
启用,通过将其设置为N
或0
禁用)。默认情况下禁用。启用该功能后,将计算所有消息的校验和,然后将它们放入发送缓冲区。此功能可确保在发送缓冲区中 await 消息或通过传输机制不会破坏消息。
启用ndb_optimized_node_selection时,在某些情况下会使用节点接近度来选择要连接到的节点。通过将此参数设置为较低的值(可解释为“更接近”),可以使用它来影响接近度。有关更多信息,请参见系统变量的描述。
table21.208 此 table 提供了 HostName1 TCP 配置参数的类型和值信息
Property | Value |
---|---|
版本(或更高版本) | NDB 7.5.0 |
类型或单位 | 名称或 IP 地址 |
Default | [none] |
Range | ... |
Restart Type | N |
HostName1
和HostName2参数可用于指定要用于两个节点之间的给定 TCP 连接的特定网络接口。这些参数使用的值可以是主机名或 IP 地址。
table21.209 此 table 提供了 HostName1 TCP 配置参数的类型和值信息
Property | Value |
---|---|
版本(或更高版本) | NDB 7.5.0 |
类型或单位 | 名称或 IP 地址 |
Default | [none] |
Range | ... |
Restart Type | N |
HostName1和HostName2
参数可用于指定用于两个节点之间的给定 TCP 连接的特定网络接口。这些参数使用的值可以是主机名或 IP 地址。
table21.210 该 table 提供了 NodeId1 TCP 配置参数的类型和值信息
Property | Value |
---|---|
版本(或更高版本) | NDB 7.5.0 |
类型或单位 | numeric |
Default | [none] |
Range | 1 - 255 |
Restart Type | N |
为了标识两个节点之间的连接,必须在配置文件的[tcp]
部分中提供它们的节点 ID 作为NodeId1
和NodeId2的值。这些是每个节点的唯一Id
值,如第 21.3.3.7 节“在 NDB 群集中定义 SQL 和其他 API 节点”中所述。
table21.211 下 table 提供了 NodeId2 TCP 配置参数的类型和值信息
Property | Value |
---|---|
版本(或更高版本) | NDB 7.5.0 |
类型或单位 | numeric |
Default | [none] |
Range | 1 - 255 |
Restart Type | N |
为了标识两个节点之间的连接,必须在配置文件的[tcp]
部分中提供它们的节点 ID 作为NodeId1和NodeId2
的值。这些是每个节点的唯一Id
值,如第 21.3.3.7 节“在 NDB 群集中定义 SQL 和其他 API 节点”中所述。
table21.212 此 table 提供 OverloadLimit TCP 配置参数的类型和值信息
Property | Value |
---|---|
版本(或更高版本) | NDB 7.5.0 |
类型或单位 | bytes |
Default | 0 |
Range | 0 -4294967039(0xFFFFFEFF) |
Restart Type | N |
如果发送缓冲区中的未发送字节数超过此数目,则连接被视为过载。
此参数可用于确定在认为连接超载之前必须存在于发送缓冲区中的未发送数据量。有关更多信息,请参见第 21.3.3.13 节,“配置 NDB 群集发送缓冲区参数”。
该参数以前指定了用于侦听来自其他节点的连接的端口号。现在已弃用(并已在 NDB Cluster 7.5 中删除);为此,请使用ServerPort数据节点配置参数(错误#77405,错误#21280456)。
table21.213 下 table 提供了 PreSendChecksum TCP 配置参数的类型和值信息
Property | Value |
---|---|
版本(或更高版本) | NDB 7.6.6 |
类型或单位 | boolean |
Default | false |
Range | true, false |
Restart Type | S |
Added | NDB 7.6.6 |
如果同时启用了此参数和Checksum,请执行预发送校验和检查,并检查节点之间的所有 TCPsignal 是否有错误。如果未同时启用Checksum
,则无效。
table21.214 此 table 提供了 ReceiveBufferMemory TCP 配置参数的类型和值信息
Property | Value |
---|---|
版本(或更高版本) | NDB 7.5.0 |
类型或单位 | bytes |
Default | 2M |
Range | 16 K-4294967039(0xFFFFFEFF) |
Restart Type | N |
指定从 TCP/IP 套接字接收数据时使用的缓冲区大小。
此参数的默认值为 2MB。最小可能值为 16KB;理论上最大为 4GB。
table21.215 下 table 提供了 SendBufferMemory TCP 配置参数的类型和值信息
Property | Value |
---|---|
版本(或更高版本) | NDB 7.5.0 |
类型或单位 | unsigned |
Default | 2M |
Range | 256 K-4294967039(0xFFFFFEFF) |
Restart Type | N |
TCP 传输器使用缓冲区存储所有消息,然后再执行对 os 的发送调用。当该缓冲区达到 64KB 时,将发送其内容。当执行了一轮消息时,也会发送这些消息。为了处理临时过载情况,还可以定义更大的发送缓冲区。
如果显式设置了此参数,则内存不专用于每个传输器;取而代之的是,所使用的值 table 示单个传输器可以使用多少内存(在总可用内存中,即TotalSendBufferMemory
)的硬性限制。有关在 NDB 群集中配置动态传输器发送缓冲区内存分配的更多信息,请参见第 21.3.3.13 节,“配置 NDB 群集发送缓冲区参数”。
发送缓冲区的默认大小为 2MB,这是大多数情况下建议的大小。最小大小为 64 KB;理论最大值为 4 GB。
table21.216 此 table 提供了 SendSignalId TCP 配置参数的类型和值信息
Property | Value |
---|---|
版本(或更高版本) | NDB 7.5.0 |
类型或单位 | boolean |
Default | false(调试版本:true) |
Range | true, false |
Restart Type | N |
为了能够 traceback 分布式消息数据报,有必要标识每个消息。当此参数设置为Y
时,消息 ID 将通过网络传输。默认情况下,此功能在生产版本中处于禁用状态,而在-debug
个版本中处于启用状态。
将此参数设置为TRUE
或1
会绑定IP_ADDR_ANY
,以便可以从任何地方构建连接(对于自动生成的连接)。默认值为FALSE
(0
)。
table21.217 此 table 提供了 TCP_MAXSEG_SIZE TCP 配置参数的类型和值信息
Property | Value |
---|---|
版本(或更高版本) | NDB 7.5.0 |
类型或单位 | unsigned |
Default | 0 |
Range | 0 -2G |
Restart Type | N |
确定 TCP 传输器初始化期间的内存集大小。对于大多数常见使用情况,建议使用默认值。
table21.218 此 table 提供了 TCP_RCV_BUF_SIZE TCP 配置参数的类型和值信息
Property | Value |
---|---|
版本(或更高版本) | NDB 7.5.0 |
类型或单位 | unsigned |
Default | 0 |
Range | 0 -2G |
Restart Type | N |
确定在 TCP 传输器初始化期间接收缓冲区集的大小。默认和最小值为 0,这允许 os 或平台设置该值。对于大多数常见使用情况,建议使用默认值。
table21.219 下 table 提供了 TCP_SND_BUF_SIZE TCP 配置参数的类型和值信息
Property | Value |
---|---|
版本(或更高版本) | NDB 7.5.0 |
类型或单位 | unsigned |
Default | 0 |
Range | 0 -2G |
Restart Type | N |
确定在 TCP 传输器初始化期间发送缓冲区集的大小。默认和最小值为 0,这允许 os 或平台设置该值。对于大多数常见使用情况,建议使用默认值。
重新启动类型. 下 table 显示了本节中的参数描述所使用的重新启动类型的信息:
table21.220 NDB 群集重新启动类型
Symbol | Restart Type | Description |
---|---|---|
N | Node | 可以使用滚动重启来更新参数(请参见第 21.5.5 节“执行 NDB 群集的滚动重启”) |
S | System | 必须完全关闭所有群集节点,然后重新启动,以更改此参数 |
I | Initial | 必须使用--initial选项重新启动数据节点 |