TCP/IP 是 NDB 集群中节点之间所有连接的默认传输机制。通常不需要定义 TCP/IP 连接;NDB 集群会自动为所有数据节点、管理节点和 SQL 或 API 节点建立此类连接。
有关此规则的例外情况,请参见 第 25.4.3.11 节,“使用直接连接的 NDB 集群 TCP/IP 连接”。
若要覆盖默认连接参数,则需要使用 config.ini
文件中的一个或多个 [tcp]
部分来定义连接。每个 [tcp]
部分都显式定义了两个 NDB 集群节点之间的 TCP/IP 连接,并且必须至少包含参数 NodeId1
和 NodeId2
,以及要覆盖的任何连接参数。
也可以通过在 [tcp default]
部分中设置这些参数来更改其默认值。
config.ini
文件中的任何 [tcp]
部分都应列在最后,即在文件中的所有其他部分之后。但是,[tcp default]
部分不需要这样做。此要求是 NDB 集群管理服务器读取 config.ini
文件的方式已知问题。
可以在 config.ini
文件的 [tcp]
和 [tcp default]
部分中设置的连接参数列在此处
-
版本(或更高版本) NDB 类型或单位 布尔值 默认值 false 范围 true, false 重启类型 节点重启:需要对集群进行滚动重启。
默认情况下,当管理节点在尝试连接时无法解析主机名时,会导致致命错误。可以通过在全局配置文件(通常命名为
config.ini
)的[tcp default]
部分中将AllowUnresolvedHostNames
设置为true
来覆盖此行为,在这种情况下,无法解析主机名将被视为警告,并且 ndb_mgmd 启动将继续进行,不会中断。 -
版本(或更高版本) NDB 类型或单位 布尔值 默认值 false 范围 true, false 重启类型 节点重启:需要对集群进行滚动重启。
默认情况下,此参数处于禁用状态。启用此参数(设置为
Y
或1
)后,将在所有消息放入发送缓冲区之前计算其校验和。此功能可确保消息在发送缓冲区中等待或通过传输机制传输时不会损坏。 启用
ndb_optimized_node_selection
后,在某些情况下会使用节点邻近性来选择要连接到的节点。可以通过将此参数设置为较低的值来影响邻近性,该值被解释为“更近”。有关详细信息,请参阅系统变量的说明。-
版本(或更高版本) NDB 类型或单位 名称或 IP 地址 默认值 [...] 范围 ... 重启类型 节点重启:需要对集群进行滚动重启。
HostName1
和HostName2
参数可用于指定要用于两个节点之间给定 TCP 连接的特定网络接口。用于这些参数的值可以是主机名或 IP 地址。 -
版本(或更高版本) NDB 类型或单位 名称或 IP 地址 默认值 [...] 范围 ... 重启类型 节点重启:需要对集群进行滚动重启。
HostName1
和HostName2
参数可用于指定要用于两个节点之间给定 TCP 连接的特定网络接口。用于这些参数的值可以是主机名或 IP 地址。 -
版本(或更高版本) NDB 类型或单位 数字 默认值 [无] 范围 1 - 255 重启类型 节点重启:需要对集群进行滚动重启。
若要标识两个节点之间的连接,需要在配置文件的
[tcp]
部分中提供它们的节点 ID 作为NodeId1
和NodeId2
的值。这些是 第 25.4.3.7 节,“在 NDB 集群中定义 SQL 和其他 API 节点” 中所述的每个节点的相同唯一Id
值。 -
版本(或更高版本) NDB 类型或单位 数字 默认值 [无] 范围 1 - 255 重启类型 节点重启:需要对集群进行滚动重启。
若要标识两个节点之间的连接,需要在配置文件的
[tcp]
部分中提供它们的节点 ID 作为NodeId1
和NodeId2
的值。这些是 第 25.4.3.7 节,“在 NDB 集群中定义 SQL 和其他 API 节点” 中所述的每个节点的相同唯一Id
值。 -
版本(或更高版本) NDB 类型或单位 数字 默认值 [无] 范围 1 - 63 重启类型 节点重启:需要对集群进行滚动重启。
设置 TCP 连接的服务器端。
-
版本(或更高版本) NDB 类型或单位 字节 默认值 0 范围 0 - 4294967039 (0xFFFFFEFF) 重启类型 节点重启:需要对集群进行滚动重启。
当发送缓冲区中有超过此数量的未发送字节时,则认为连接过载。
此参数可用于确定在认为连接过载之前,发送缓冲区中必须存在的未发送数据量。有关详细信息,请参见 第 25.4.3.14 节,“配置 NDB 集群发送缓冲区参数”。
-
版本(或更高版本) NDB 类型或单位 枚举 默认值 4 范围 4, 6 重启类型 初始系统重启:需要完全关闭集群,从备份中擦除并还原集群文件系统,然后重启集群。
确定 DNS 解析对 IP 版本 4 或版本 6 的偏好。由于 NDB 集群采用的配置检索机制要求所有连接都使用相同的偏好,因此应在
config.ini
全局配置文件的[tcp default]
中设置此参数。 -
版本(或更高版本) NDB 类型或单位 布尔值 默认值 false 范围 true, false 重启类型 节点重启:需要对集群进行滚动重启。
如果此参数和
Checksum
都已启用,则执行发送前校验和检查,并检查节点之间所有 TCP 信号是否存在错误。如果Checksum
未启用,则此参数无效。 -
版本(或更高版本) NDB 类型或单位 字符串 默认值 [...] 范围 ... 重启类型 节点重启:需要对集群进行滚动重启。
为 TCP 连接设置代理。
-
版本(或更高版本) NDB 类型或单位 字节 默认值 2M 范围 16K - 4294967039 (0xFFFFFEFF) 重启类型 节点重启:需要对集群进行滚动重启。
指定从 TCP/IP 套接字接收数据时使用的缓冲区大小。
此参数的默认值为 2MB。最小值为 16KB;理论最大值为 4GB。
-
版本(或更高版本) NDB 类型或单位 布尔值 默认值 false 范围 ... 重启类型 节点重启:需要对集群进行滚动重启。
如果此 TCP 连接任一端点的节点都需要 TLS 身份验证,则此参数的值为
true
,否则为false
。该值由NDB
设置,用户无法更改。 -
版本(或更高版本) NDB 类型或单位 无符号 默认值 2M 范围 256K - 4294967039 (0xFFFFFEFF) 重启类型 节点重启:需要对集群进行滚动重启。
TCP 传输器使用缓冲区来存储所有消息,然后再向操作系统执行发送调用。当此缓冲区达到 64KB 时,其内容将被发送;当一轮消息已执行完毕时,也会发送这些内容。为了处理临时过载情况,还可以定义更大的发送缓冲区。
如果显式设置了此参数,则内存不会专用于每个传输器;相反,使用的值表示单个传输器可以使用多少内存(在总可用内存中,即
TotalSendBufferMemory
)的硬限制。有关在 NDB 集群中配置动态传输器发送缓冲区内存分配的详细信息,请参见 第 25.4.3.14 节,“配置 NDB 集群发送缓冲区参数”。发送缓冲区的默认大小为 2MB,这是大多数情况下建议的大小。最小大小为 64 KB;理论最大值为 4 GB。
-
版本(或更高版本) NDB 类型或单位 布尔值 默认值 false(调试版本:true) 范围 true, false 重启类型 节点重启:需要对集群进行滚动重启。
为了能够回溯分布式消息数据报,需要标识每条消息。将此参数设置为
Y
时,消息 ID 将通过网络传输。默认情况下,此功能在生产版本中禁用,在-debug
版本中启用。 将此参数设置为
TRUE
或1
会绑定IP_ADDR_ANY
,以便可以从任何地方进行连接(对于自动生成的连接)。默认值为FALSE
(0
)。-
版本(或更高版本) NDB 类型或单位 微秒 默认值 0 范围 0 - 2000 重启类型 节点重启:需要对集群进行滚动重启。
控制 TCP 传输器的自旋;未启用,设置为非零值。这适用于连接的数据节点端和管理或 SQL 节点端。
-
版本(或更高版本) NDB 类型或单位 无符号 默认值 0 范围 0 - 2G 重启类型 节点重启:需要对集群进行滚动重启。
确定在 TCP 传输器初始化期间设置的内存大小。对于大多数常见用例,建议使用默认值。
-
版本(或更高版本) NDB 类型或单位 无符号 默认值 0 范围 0 - 2G 重启类型 节点重启:需要对集群进行滚动重启。
确定在 TCP 传输器初始化期间设置的接收缓冲区大小。默认值和最小值为 0,这允许操作系统或平台设置此值。对于大多数常见用例,建议使用默认值。
-
版本(或更高版本) NDB 类型或单位 无符号 默认值 0 范围 0 - 2G 重启类型 节点重启:需要对集群进行滚动重启。
确定在 TCP 传输器初始化期间设置的发送缓冲区大小。默认值和最小值为 0,这允许操作系统或平台设置此值。对于大多数常见用例,建议使用默认值。
重启类型。 下表显示了本节参数说明中使用的重启类型相关信息。
表 25.20 NDB 集群重启类型
符号 | 重启类型 | 说明 |
---|---|---|
N | 节点 | 可以使用滚动重启更新参数(参见 第 25.6.5 节 “执行 NDB 集群的滚动重启”) |
S | 系统 | 必须完全关闭所有集群节点,然后重新启动,才能使此参数的更改生效。 |
I | 初始 | 必须使用 --initial 选项重启数据节点。 |