Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


25.4.3.10 NDB 集群 TCP/IP 连接

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

Note

对于这个规则的例外,请参阅第 25.4.3.11 节,“NDB 集群 TCP/IP 连接使用直接连接”

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

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

Important

[tcp] 文件中的任何部分都应该被列在文件末尾,紧随所有其他部分。然而,这对于 [tcp default] 部分并非必需。这是由 NDB 集群管理服务器读取 config.ini 文件的方式所导致的问题。

config.ini 文件中的 [tcp][tcp default] 部分可以设置的连接参数如下:

  • AllowUnresolvedHostNames

    Version (or later) NDB 8.4.0
    Type or units 布尔值
    Default false
    Range true, false
    Restart Type

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

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

  • Checksum

    Version (or later) NDB 8.4.0
    Type or units 布尔值
    Default false
    Range true, false
    Restart Type

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

    这项参数默认禁用。当启用(设置为Y1)时,对所有消息计算校验和,放入发送缓冲区之前。这一特性确保了在发送缓冲区中等待或通过传输机制期间消息不会被损坏。

  • Group

    ndb_optimized_node_selection启用时,节点的近邻性会在某些情况下被用于选择连接到的节点。这一参数可以影响近邻性的设置,通过将其设置为较低值(表示“更接近”),见系统变量的描述以获取更多信息。

  • HostName1

    Version (or later) NDB 8.4.0
    Type or units 名称或IP地址
    Default [...]
    Range ...
    Restart Type

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

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

  • HostName2

    Version (or later) NDB 8.4.0
    Type or units 名称或IP地址
    Default [...]
    Range ...
    Restart Type

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

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

  • NodeId1

    Version (or later) NDB 8.4.0
    Type or units 数字
    Default [无]
    Range 1 - 255
    Restart Type

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

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

  • NodeId2

    Version (or later) NDB 8.4.0
    Type or units 数字
    Default [无]
    Range 1 - 255
    Restart Type

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

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

  • NodeIdServer

    Version (or later) NDB 8.4.0
    Type or units 数字
    Default [无]
    Range 1 - 63
    Restart Type

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

    设置TCP连接的服务器端。

  • OverloadLimit

    Version (or later) NDB 8.4.0
    Type or units 字节
    Default 0
    Range 0 - 4294967039 (0xFFFFFEFF)
    Restart Type

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

    当发送缓冲区中的未发送字节数超过这个数量时,连接就被认为是过载。

    这个参数可以用来确定在发送缓冲区中必须存在多少未发送数据才能将连接视为过载。请参阅第 25.4.3.14 节,“NDB 集群发送缓冲区参数的配置”,获取更多信息。

  • PreferIPVersion

    Version (or later) NDB 8.4.0
    Type or units 枚举
    Default 4
    Range 4, 6
    Restart Type

    初始系统重启:需要完全关闭集群,清除并从备份中恢复集群文件系统,然后重新启动集群。 (NDB 8.4.0)

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

  • PreSendChecksum

    Version (or later) NDB 8.4.0
    Type or units 布尔值
    Default false
    Range true, false
    Restart Type

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

    如果这个参数和校验和都启用,执行预发送的校验和检查,并在节点之间的所有TCP信号上检查错误。如果没有同时启用校验和,则无效。

  • 代理

    Version (or later) NDB 8.4.0
    Type or units 字符串
    Default [...]
    Range ...
    Restart Type

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

    设置TCP连接的代理。

  • 接收缓冲区内存

    Version (or later) NDB 8.4.0
    Type or units 字节
    Default 2M
    Range 16K - 4294967039 (0xFFFFFEFF)
    Restart Type

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

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

    该参数的默认值是2MB。最小可能的值是16KB;理论上,最大值可以达到4GB。

  • RequireLinkTls

    Version (or later) NDB 8.4.0
    Type or units 布尔值
    Default false
    Range ...
    Restart Type

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

    如果连接的两端节点中的任一节点要求使用TLS进行身份验证,该参数的值为true,否则为false。该值由NDB设置,并且不能由用户更改。

  • SendBufferMemory

    Version (or later) NDB 8.4.0
    Type or units 无符号整数
    Default 2M
    Range 256K - 4294967039 (0xFFFFFEFF)
    Restart Type

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

    TCP传输器使用一个缓冲区来存储所有消息,直到将它们发送给操作系统。在这个缓冲区达到64KB时,它们的内容会被发送;这些消息也会在执行一轮消息后被发送。为了应对临时的过载情况,还可以定义一个更大的发送缓冲区。

    如果设置了这个参数,内存将不会被专门分配给每个传输器;相反,这个值表示的是单个传输器可以使用的硬限额内存(出于总可用内存中,即TotalSendBufferMemory),这部分内存是从总共的可用内存中划分出来的。关于在NDB集群中配置动态传输器发送缓冲区内存分配的更多信息,请参阅第25.4.3.14节,“NDB集群发送缓冲区参数配置”

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

  • SendSignalId

    Version (or later) NDB 8.4.0
    Type or units 布尔值
    Default false(调试版本:true)
    Range true, false
    Restart Type

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

    为了能够追踪分布式消息数据包,需要为每条消息标识它。当这个参数设置为Y时,将在网络上传输消息ID。这个特性默认情况下在生产环境中禁用,在-debug版本中启用。

  • TcpBind_INADDR_ANY

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

  • TcpSpinTime

    Version (or later) NDB 8.4.0
    Type or units 微秒
    Default 0
    Range 0 - 2000
    Restart Type

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

    控制TCP传输器的旋转时间;无需启用,设置为非零值。这适用于数据节点和管理或SQL节点连接的两侧。

  • TCP_MAXSEG_SIZE

    Version (or later) NDB 8.4.0
    Type or units 无符号
    Default 0
    Range 0 - 2G
    Restart Type

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

    确定TCP传输器初始化时内存分配的大小。默认值对于大多数常见用途场景来说是推荐的。

  • TCP_RCV_BUF_SIZE

    Version (or later) NDB 8.4.0
    Type or units 无符号
    Default 0
    Range 0 - 2G
    Restart Type

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

    确定接收缓冲区大小,用于TCP传输器初始化。这是默认值和最小值,也允许操作系统或平台设置该值。对于大多数常见用例,默认值通常是推荐的。

  • TCP_SND_BUF_SIZE

    Version (or later) NDB 8.4.0
    Type or units 无符号
    Default 0
    Range 0 - 2G
    Restart Type

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

    确定发送缓冲区大小,用于TCP传输器初始化。这是默认值和最小值,也允许操作系统或平台设置该值。对于大多数常见用例,默认值通常是推荐的。

重启类型。 本节参数描述中使用的重启类型信息,如下表所示:

表25.20 NDB 集群重启类型

Symbol Restart Type Description
N 节点 可以通过滚动重启(参见第 25.6.5 节,“NDB 集群的滚动重启”)进行更新。
S 系统 所有集群节点必须完全关闭,然后重启,以便对此参数进行更改
I 初始 数据节点必须使用--initial选项重启