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 连接,并且必须至少包含参数
NodeId1
和
NodeId2
,以及要覆盖的任何连接参数。
也可以通过在[tcp
default]
部分中设置来更改这些参数的默认值。
文件中的任何[tcp]
部分
config.ini
都应列在
最后,跟在文件中的所有其他部分之后。但是,这不是[tcp
default]
部分所必需的。config.ini
此要求是NDB Cluster 管理服务器读取文件
的方式的一个已知问题。
此处列出了
可以在文件中设置的连接参数
[tcp]
和[tcp default]
部分:config.ini
-
版本(或更高版本) 新开发银行 8.0.22 类型或单位 布尔值 默认 错误的 范围 真假 添加 新开发银行 8.0.22 重启类型 N(NDB 8.0.13)
默认情况下,当管理节点在尝试连接时无法解析主机名时,会导致致命错误。可以通过在全局配置文件(通常名为 )的部分中设置
AllowUnresolvedHostNames
来 覆盖此行为 ,在这种情况下,无法解析主机名将被视为警告,并且ndb_mgmd启动将继续不间断。true
[tcp default]
config.ini
-
版本(或更高版本) 新开发银行 8.0.13 类型或单位 布尔值 默认 错误的 范围 真假 重启类型 N(NDB 8.0.13)
默认情况下禁用此参数。当它被启用时(设置为
Y
或1
),所有消息的校验和在它们被放入发送缓冲区之前被计算。此功能可确保消息在发送缓冲区或传输机制中等待时不会损坏。 启用后,在
ndb_optimized_node_selection
某些情况下会使用节点接近度来选择要连接的节点。此参数可用于通过将其设置为较低的值来影响接近度,这被解释为“更近”。有关详细信息,请参阅系统变量的描述。-
版本(或更高版本) 新开发银行 8.0.13 类型或单位 名称或 IP 地址 默认 [...] 范围 ... 重启类型 N(NDB 8.0.13)
HostName1
和HostName2
参数可用于指定要用于两个节点之间给定 TCP 连接的特定网络接口 。用于这些参数的值可以是主机名或 IP 地址。 -
版本(或更高版本) 新开发银行 8.0.13 类型或单位 名称或 IP 地址 默认 [...] 范围 ... 重启类型 N(NDB 8.0.13)
HostName1
和HostName2
参数可用于指定要用于两个节点之间给定 TCP 连接的特定网络接口 。用于这些参数的值可以是主机名或 IP 地址。 -
版本(或更高版本) 新开发银行 8.0.13 类型或单位 数字 默认 [没有任何] 范围 1 - 255 重启类型 N(NDB 8.0.13)
要识别两个节点之间的连接,有必要
[tcp]
在配置文件的部分中提供它们的节点 ID 作为 和 的NodeId1
值NodeId2
。如第 23.4.3.7 节,“在 NDB Cluster 中定义 SQL 和其他 API 节点”Id
中所述,这些节点中的每一个 都是相同的唯一值。 -
版本(或更高版本) 新开发银行 8.0.13 类型或单位 数字 默认 [没有任何] 范围 1 - 255 重启类型 N(NDB 8.0.13)
要识别两个节点之间的连接,有必要
[tcp]
在配置文件的部分中提供它们的节点 ID 作为 和 的NodeId1
值NodeId2
。如第 23.4.3.7 节,“在 NDB Cluster 中定义 SQL 和其他 API 节点”Id
中所述,这些节点中的每一个都是相同的唯一 值。 -
版本(或更高版本) 新开发银行 8.0.13 类型或单位 数字 默认 [没有任何] 范围 1 - 63 重启类型 N(NDB 8.0.13)
设置 TCP 连接的服务器端。
-
版本(或更高版本) 新开发银行 8.0.13 类型或单位 字节 默认 0 范围 0 - 4294967039 (0xFFFFFEFF) 重启类型 N(NDB 8.0.13)
当发送缓冲区中的未发送字节多于此数量时,连接将被视为过载。
此参数可用于确定在连接被视为过载之前必须存在于发送缓冲区中的未发送数据量。有关更多信息,请参阅 第 23.4.3.14 节,“配置 NDB Cluster 发送缓冲区参数”。
-
版本(或更高版本) 新开发银行 8.0.26 类型或单位 枚举 默认 4个 范围 4, 6 添加 新开发银行 8.0.26 重启类型 是(NDB 8.0.13)
确定 IP 版本 4 或版本 6 的 DNS 解析首选项。由于 NDB Cluster 采用的配置检索机制要求所有连接使用相同的首选项,因此应在
[tcp default]
全局config.ini
配置文件的 中设置此参数。 -
版本(或更高版本) 新开发银行 8.0.13 类型或单位 布尔值 默认 错误的 范围 真假 重启类型 N(NDB 8.0.13)
如果此参数和
Checksum
都启用,则执行发送前校验和检查,并检查节点之间的所有 TCP 信号是否有错误。如果Checksum
未同时启用,则无效。 -
版本(或更高版本) 新开发银行 8.0.13 类型或单位 细绳 默认 [...] 范围 ... 重启类型 N(NDB 8.0.13)
为 TCP 连接设置代理。
-
版本(或更高版本) 新开发银行 8.0.13 类型或单位 字节 默认 2M 范围 16K - 4294967039 (0xFFFFFEFF) 重启类型 N(NDB 8.0.13)
指定从 TCP/IP 套接字接收数据时使用的缓冲区大小。
此参数的默认值为 2MB。最小可能值为 16KB;理论最大值为 4GB。
-
版本(或更高版本) 新开发银行 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。
-
版本(或更高版本) 新开发银行 8.0.13 类型或单位 布尔值 默认 假(调试版本:真) 范围 真假 重启类型 N(NDB 8.0.13)
为了能够追溯分布式消息数据报,有必要识别每条消息。当此参数设置为 时
Y
,消息 ID 通过网络传输。默认情况下,此功能在生产构建中禁用,并在-debug
构建中启用。 将此参数设置为
TRUE
或1
绑定IP_ADDR_ANY
,以便可以从任何地方建立连接(对于自动生成的连接)。默认值为FALSE
(0
)。-
版本(或更高版本) 新开发银行 8.0.20 类型或单位 微秒 默认 0 范围 0 - 2000 添加 新开发银行 8.0.20 重启类型 N(NDB 8.0.13)
控制 TCP 传输器的自旋;不启用,设置为非零值。这适用于连接的数据节点和管理或 SQL 节点端。
-
版本(或更高版本) 新开发银行 8.0.13 类型或单位 未签名 默认 0 范围 0 - 2G 重启类型 N(NDB 8.0.13)
确定 TCP 传输器初始化期间设置的内存大小。对于大多数常见用例,建议使用默认值。
-
版本(或更高版本) 新开发银行 8.0.13 类型或单位 未签名 默认 0 范围 0 - 2G 重启类型 N(NDB 8.0.13)
确定在 TCP 传输器初始化期间设置的接收缓冲区的大小。默认和最小值为 0,允许操作系统或平台设置此值。对于大多数常见用例,建议使用默认值。
-
版本(或更高版本) 新开发银行 8.0.13 类型或单位 未签名 默认 0 范围 0 - 2G 重启类型 N(NDB 8.0.13)
确定在 TCP 传输器初始化期间设置的发送缓冲区的大小。默认和最小值为 0,允许操作系统或平台设置此值。对于大多数常见用例,建议使用默认值。
表 23.21 NDB Cluster 重启类型
象征 | 重启类型 | 描述 |
---|---|---|
否 | 节点 | 可以使用滚动重启更新参数(请参阅 第 23.6.5 节,“执行 NDB Cluster 的滚动重启”) |
小号 | 系统 | 所有集群节点必须完全关闭,然后重新启动,以影响此参数的更改 |
我 | 最初的 | 必须使用该
--initial 选项重新启动数据节点 |