文档主页
MySQL 8.4 参考手册
相关文档 下载本手册

MySQL 8.4 参考手册  /  ...  /  NDB 集群 TCP/IP 连接

25.4.3.10 NDB 集群 TCP/IP 连接

TCP/IP 是 NDB 集群中节点之间所有连接的默认传输机制。通常,不需要定义 TCP/IP 连接;NDB 集群会自动为所有数据节点、管理节点和 SQL 或 API 节点建立此类连接。

注意

有关此规则的例外情况,请参见 “第 25.4.3.11 节 “使用直接连接的 NDB 集群 TCP/IP 连接””

要覆盖默认连接参数,需要使用 config.ini 文件中的一个或多个 [tcp] 部分来定义连接。每个 [tcp] 部分都显式定义了两个 NDB 集群节点之间的 TCP/IP 连接,并且必须至少包含参数 NodeId1NodeId2,以及要覆盖的任何连接参数。

也可以通过在 [tcp default] 部分中设置这些参数来更改它们的默认值。

重要

config.ini 文件中的任何 [tcp] 部分都应列在最后,即在文件中的所有其他部分之后。但是,[tcp default] 部分不需要这样做。此要求是 NDB 集群管理服务器读取 config.ini 文件的方式的一个已知问题。

可以在 config.ini 文件的 [tcp][tcp default] 部分中设置的连接参数列在此处

  • AllowUnresolvedHostNames

    版本(或更高版本) NDB 8.4.0
    类型或单位 布尔值
    默认值 false
    范围 true、false
    重启类型

    节点重启:需要对集群进行滚动重启。(NDB 8.4.0)

    默认情况下,当管理节点在尝试连接时无法解析主机名时,会导致致命错误。可以通过在全局配置文件(通常名为 config.ini)的 [tcp default] 部分中将 AllowUnresolvedHostNames 设置为 true 来覆盖此行为,在这种情况下,无法解析主机名将被视为警告,并且 ndb_mgmd 启动将继续进行,不会中断。

  • Checksum

    版本(或更高版本) NDB 8.4.0
    类型或单位 布尔值
    默认值 false
    范围 true、false
    重启类型

    节点重启:需要对集群进行滚动重启。(NDB 8.4.0)

    此参数默认情况下处于禁用状态。启用此参数(设置为 Y1)后,会在将所有消息放入发送缓冲区之前计算它们的校验和。此功能可确保消息在发送缓冲区中等待时或通过传输机制传输时不会损坏。

  • Group

    启用 ndb_optimized_node_selection 后,在某些情况下会使用节点邻近性来选择要连接到的节点。可以通过将此参数设置为较低的值来影响邻近性,较低的值表示“更近”。有关详细信息,请参阅系统变量的说明。

  • HostName1

    版本(或更高版本) NDB 8.4.0
    类型或单位 名称或 IP 地址
    默认值 [...]
    范围 ...
    重启类型

    节点重启:需要对集群进行滚动重启。(NDB 8.4.0)

    HostName1HostName2 参数可用于指定要用于两个节点之间给定 TCP 连接的特定网络接口。用于这些参数的值可以是主机名或 IP 地址。

  • HostName2

    版本(或更高版本) NDB 8.4.0
    类型或单位 名称或 IP 地址
    默认值 [...]
    范围 ...
    重启类型

    节点重启:需要对集群进行滚动重启。(NDB 8.4.0)

    HostName1HostName2 参数可用于指定要用于两个节点之间给定 TCP 连接的特定网络接口。用于这些参数的值可以是主机名或 IP 地址。

  • NodeId1

    版本(或更高版本) NDB 8.4.0
    类型或单位 数值
    默认值 [无]
    范围 1 - 255
    重启类型

    节点重启:需要对集群进行滚动重启。(NDB 8.4.0)

    要标识两个节点之间的连接,需要在配置文件的 [tcp] 部分中提供它们的节点 ID 作为 NodeId1NodeId2 的值。这些节点 ID 与 “第 25.4.3.7 节 “在 NDB 集群中定义 SQL 和其他 API 节点”” 中所述的每个节点的唯一 Id 值相同。

  • NodeId2

    版本(或更高版本) NDB 8.4.0
    类型或单位 数值
    默认值 [无]
    范围 1 - 255
    重启类型

    节点重启:需要对集群进行滚动重启。(NDB 8.4.0)

    要标识两个节点之间的连接,需要在配置文件的 [tcp] 部分中提供它们的节点 ID 作为 NodeId1NodeId2 的值。这些节点 ID 与 “第 25.4.3.7 节 “在 NDB 集群中定义 SQL 和其他 API 节点”” 中所述的每个节点的唯一 Id 值相同。

  • NodeIdServer

    版本(或更高版本) NDB 8.4.0
    类型或单位 数值
    默认值 [无]
    范围 1 - 63
    重启类型

    节点重启:需要对集群进行滚动重启。(NDB 8.4.0)

    设置 TCP 连接的服务器端。

  • OverloadLimit

    版本(或更高版本) NDB 8.4.0
    类型或单位 字节
    默认值 0
    范围 0 - 4294967039 (0xFFFFFEFF)
    重启类型

    节点重启:需要对集群进行滚动重启。(NDB 8.4.0)

    当发送缓冲区中有超过此数量的未发送字节时,则认为连接过载。

    此参数可用于确定在认为连接过载之前,发送缓冲区中必须存在的未发送数据量。有关详细信息,请参阅 “第 25.4.3.14 节 “配置 NDB 集群发送缓冲区参数””

  • PreferIPVersion

    版本(或更高版本) NDB 8.4.0
    类型或单位 枚举
    默认值 4
    范围 4, 6
    重启类型

    首次系统重启:需要完全关闭集群,从备份中擦除并恢复集群文件系统,然后重启集群。(NDB 8.4.0)

    确定 DNS 解析对 IP 版本 4 或版本 6 的偏好。由于 NDB 集群采用的配置检索机制要求所有连接都使用相同的偏好,因此应在 config.ini 全局配置文件的 [tcp default] 部分中设置此参数。

  • PreSendChecksum

    版本(或更高版本) NDB 8.4.0
    类型或单位 布尔值
    默认值 false
    范围 true、false
    重启类型

    节点重启:需要对集群进行滚动重启。(NDB 8.4.0)

    如果此参数和 Checksum 均已启用,则执行发送前校验和检查,并检查节点之间所有 TCP 信号是否有错误。如果 Checksum 未启用,则此参数无效。

  • Proxy

    版本(或更高版本) NDB 8.4.0
    类型或单位 字符串
    默认值 [...]
    范围 ...
    重启类型

    节点重启:需要对集群进行滚动重启。(NDB 8.4.0)

    为 TCP 连接设置代理。

  • ReceiveBufferMemory

    版本(或更高版本) NDB 8.4.0
    类型或单位 字节
    默认值 2MB
    范围 16KB - 4294967039 (0xFFFFFEFF)
    重启类型

    节点重启:需要对集群进行滚动重启。(NDB 8.4.0)

    指定从 TCP/IP 套接字接收数据时使用的缓冲区大小。

    此参数的默认值为 2MB。最小值为 16KB;理论最大值为 4GB。

  • RequireLinkTls

    版本(或更高版本) NDB 8.4.0
    类型或单位 布尔值
    默认值 false
    范围 ...
    重启类型

    节点重启:需要对集群进行滚动重启。(NDB 8.4.0)

    如果此 TCP 连接任一端点的节点需要 TLS 身份验证,则此参数的值为 true,否则为 false。此值由 NDB 设置,用户无法更改。

  • SendBufferMemory

    版本(或更高版本) NDB 8.4.0
    类型或单位 无符号整数
    默认值 2MB
    范围 256KB - 4294967039 (0xFFFFFEFF)
    重启类型

    节点重启:需要对集群进行滚动重启。(NDB 8.4.0)

    TCP 传输器使用缓冲区来存储所有消息,然后再向操作系统执行发送调用。当此缓冲区达到 64KB 时,其内容将被发送;当一轮消息已执行完毕时,也会发送这些内容。为了处理临时的过载情况,还可以定义更大的发送缓冲区。

    如果显式设置了此参数,则内存不会专用于每个传输器;相反,使用的值表示单个传输器可以使用多少内存(在可用内存总量中,即 TotalSendBufferMemory)的硬限制。有关在 NDB 集群中配置动态传输器发送缓冲区内存分配的详细信息,请参阅 “第 25.4.3.14 节 “配置 NDB 集群发送缓冲区参数””

    发送缓冲区的默认大小为 2MB,这是大多数情况下建议的大小。最小大小为 64KB;理论最大值为 4GB。

  • SendSignalId

    版本(或更高版本) NDB 8.4.0
    类型或单位 布尔值
    默认值 false(调试版本:true)
    范围 true、false
    重启类型

    节点重启:需要对集群进行滚动重启。(NDB 8.4.0)

    为了能够回溯分布式消息数据报,需要标识每条消息。当此参数设置为 Y 时,消息 ID 将通过网络传输。此功能在生产版本中默认禁用,在 -debug 版本中启用。

  • TcpBind_INADDR_ANY

    将此参数设置为 TRUE1 会绑定 IP_ADDR_ANY,以便可以从任何地方建立连接(对于自动生成的连接)。默认值为 FALSE (0)。

  • TcpSpinTime

    版本(或更高版本) NDB 8.4.0
    类型或单位 微秒
    默认值 0
    范围 0 - 2000
    重启类型

    节点重启:需要对集群进行滚动重启。(NDB 8.4.0)

    控制 TCP 传输器的自旋;如果要启用,请设置为非零值。这适用于连接的数据节点端和管理节点或 SQL 节点端。

  • TCP_MAXSEG_SIZE

    版本(或更高版本) NDB 8.4.0
    类型或单位 无符号整数
    默认值 0
    范围 0 - 2GB
    重启类型

    节点重启:需要对集群进行滚动重启。(NDB 8.4.0)

    确定在 TCP 传输器初始化期间设置的内存大小。建议在大多数常见用例中使用默认值。

  • TCP_RCV_BUF_SIZE

    版本(或更高版本) NDB 8.4.0
    类型或单位 无符号整数
    默认值 0
    范围 0 - 2GB
    重启类型

    节点重启:需要对集群进行滚动重启。(NDB 8.4.0)

    确定在 TCP 传输器初始化期间设置的接收缓冲区大小。默认值和最小值为 0,这允许操作系统或平台设置此值。建议在大多数常见用例中使用默认值。

  • TCP_SND_BUF_SIZE

    版本(或更高版本) NDB 8.4.0
    类型或单位 无符号整数
    默认值 0
    范围 0 - 2GB
    重启类型

    节点重启:需要对集群进行滚动重启。(NDB 8.4.0)

    确定在 TCP 传输器初始化期间设置的发送缓冲区大小。默认值和最小值为 0,这允许操作系统或平台设置此值。建议在大多数常见用例中使用默认值。

重启类型。 本部分中参数说明所使用的重启类型的相关信息如下表所示

表 25.20 NDB 集群重启类型

符号 重启类型 说明
N 节点 可以使用滚动重启来更新参数(请参阅第 25.6.5 节 “执行 NDB 集群的滚动重启”
S 系统 必须完全关闭所有集群节点,然后重新启动,才能使此参数的更改生效
I 初始 必须使用 --initial 选项重启数据节点