Documentation Home

23.4.3.10 NDB Cluster TCP/IP 连接

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

笔记

有关此规则的例外情况,请参阅 第 23.4.3.11 节,“使用直接连接的 NDB Cluster TCP/IP 连接”

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

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

重要的

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

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

  • AllowUnresolvedHostNames

    版本(或更高版本) 新开发银行 8.0.22
    类型或单位 布尔值
    默认 错误的
    范围 真假
    添加 新开发银行 8.0.22
    重启类型

    N(NDB 8.0.13)

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

  • Checksum

    版本(或更高版本) 新开发银行 8.0.13
    类型或单位 布尔值
    默认 错误的
    范围 真假
    重启类型

    N(NDB 8.0.13)

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

  • Group

    启用后,在 ndb_optimized_node_selection 某些情况下会使用节点接近度来选择要连接的节点。此参数可用于通过将其设置为较低的值来影响接近度,这被解释为更近。有关详细信息,请参阅系统变量的描述。

  • HostName1

    版本(或更高版本) 新开发银行 8.0.13
    类型或单位 名称或 IP 地址
    默认 [...]
    范围 ...
    重启类型

    N(NDB 8.0.13)

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

  • HostName2

    版本(或更高版本) 新开发银行 8.0.13
    类型或单位 名称或 IP 地址
    默认 [...]
    范围 ...
    重启类型

    N(NDB 8.0.13)

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

  • NodeId1

    版本(或更高版本) 新开发银行 8.0.13
    类型或单位 数字
    默认 [没有任何]
    范围 1 - 255
    重启类型

    N(NDB 8.0.13)

    要识别两个节点之间的连接,有必要[tcp] 在配置文件的部分中提供它们的节点 ID 作为 和 的 NodeId1NodeId2如第 23.4.3.7 节,“在 NDB Cluster 中定义 SQL 和其他 API 节点”Id中所述,这些节点中的每一个 都是相同的唯一值。

  • NodeId2

    版本(或更高版本) 新开发银行 8.0.13
    类型或单位 数字
    默认 [没有任何]
    范围 1 - 255
    重启类型

    N(NDB 8.0.13)

    要识别两个节点之间的连接,有必要[tcp] 在配置文件的部分中提供它们的节点 ID 作为 和 的 NodeId1NodeId2如第 23.4.3.7 节,“在 NDB Cluster 中定义 SQL 和其他 API 节点”Id中所述,这些节点中的每一个都是相同的唯一 值。

  • NodeIdServer

    版本(或更高版本) 新开发银行 8.0.13
    类型或单位 数字
    默认 [没有任何]
    范围 1 - 63
    重启类型

    N(NDB 8.0.13)

    设置 TCP 连接的服务器端。

  • OverloadLimit

    版本(或更高版本) 新开发银行 8.0.13
    类型或单位 字节
    默认 0
    范围 0 - 4294967039 (0xFFFFFEFF)
    重启类型

    N(NDB 8.0.13)

    当发送缓冲区中的未发送字节多于此数量时,连接将被视为过载。

    此参数可用于确定在连接被视为过载之前必须存在于发送缓冲区中的未发送数据量。有关更多信息,请参阅 第 23.4.3.14 节,“配置 NDB Cluster 发送缓冲区参数”

  • PreferIPVersion

    版本(或更高版本) 新开发银行 8.0.26
    类型或单位 枚举
    默认 4个
    范围 4, 6
    添加 新开发银行 8.0.26
    重启类型

    是(NDB 8.0.13)

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

  • PreSendChecksum

    版本(或更高版本) 新开发银行 8.0.13
    类型或单位 布尔值
    默认 错误的
    范围 真假
    重启类型

    N(NDB 8.0.13)

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

  • Proxy

    版本(或更高版本) 新开发银行 8.0.13
    类型或单位 细绳
    默认 [...]
    范围 ...
    重启类型

    N(NDB 8.0.13)

    为 TCP 连接设置代理。

  • ReceiveBufferMemory

    版本(或更高版本) 新开发银行 8.0.13
    类型或单位 字节
    默认 2M
    范围 16K - 4294967039 (0xFFFFFEFF)
    重启类型

    N(NDB 8.0.13)

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

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

  • SendBufferMemory

    版本(或更高版本) 新开发银行 8.0.13
    类型或单位 未签名
    默认 2M
    范围 256K - 4294967039 (0xFFFFFEFF)
    重启类型

    N(NDB 8.0.13)

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

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

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

  • SendSignalId

    版本(或更高版本) 新开发银行 8.0.13
    类型或单位 布尔值
    默认 假(调试版本:真)
    范围 真假
    重启类型

    N(NDB 8.0.13)

    为了能够追溯分布式消息数据报,有必要识别每条消息。当此参数设置为 时Y,消息 ID 通过网络传输。默认情况下,此功能在生产构建中禁用,并在-debug 构建中启用。

  • TcpBind_INADDR_ANY

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

  • TcpSpinTime

    版本(或更高版本) 新开发银行 8.0.20
    类型或单位 微秒
    默认 0
    范围 0 - 2000
    添加 新开发银行 8.0.20
    重启类型

    N(NDB 8.0.13)

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

  • TCP_MAXSEG_SIZE

    版本(或更高版本) 新开发银行 8.0.13
    类型或单位 未签名
    默认 0
    范围 0 - 2G
    重启类型

    N(NDB 8.0.13)

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

  • TCP_RCV_BUF_SIZE

    版本(或更高版本) 新开发银行 8.0.13
    类型或单位 未签名
    默认 0
    范围 0 - 2G
    重启类型

    N(NDB 8.0.13)

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

  • TCP_SND_BUF_SIZE

    版本(或更高版本) 新开发银行 8.0.13
    类型或单位 未签名
    默认 0
    范围 0 - 2G
    重启类型

    N(NDB 8.0.13)

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

重启类型。  本节参数说明所使用的重启类型信息如下表所示:

表 23.21 NDB Cluster 重启类型

象征 重启类型 描述
节点 可以使用滚动重启更新参数(请参阅 第 23.6.5 节,“执行 NDB Cluster 的滚动重启”
小号 系统 所有集群节点必须完全关闭,然后重新启动,以影响此参数的更改
最初的 必须使用该 --initial选项重新启动数据节点