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
文件的方式。
可以在 [tcp]
和 [tcp default]
部分中设置的连接参数列举如下:
-
Version (or later) NDB 8.3.0 Type or units 布尔值 Default false Range true, false Restart Type 节点重启:需要对集群进行 滚动重启。(NDB 8.3.0)
默认情况下,当管理节点在尝试连接时无法解析主机名时,这将导致致命错误。可以通过在
[tcp default]
部分中将AllowUnresolvedHostNames
设置为true
来覆盖这种行为,在这种情况下,无法解析主机名将被视为警告,而不是致命错误,ndb_mgmd 启动将继续不间断。 -
Version (or later) NDB 8.3.0 Type or units 布尔值 Default false Range true, false Restart Type 节点重启:需要对集群进行 滚动重启。(NDB 8.3.0)
该参数默认情况下是禁用的。当启用(设置为
Y
或1
)时,对所有消息进行校验和计算,然后将其放入发送缓冲区。这确保了消息在发送缓冲区中或通过传输机制时不会被损坏。 -
当
ndb_optimized_node_selection
启用时,节点近似度将在某些情况下用于选择连接到的节点。该参数可以用来影响近似度,通过将其设置为较低的值,解释为 “更近”。请参阅系统变量的描述以获取更多信息。 -
Version (or later) NDB 8.3.0 Type or units 名称或 IP 地址 Default [...] Range ... Restart Type 节点重启:需要对集群进行 滚动重启。(NDB 8.3.0)
可以使用
HostName1
和HostName2
参数来指定用于特定 TCP 连接的网络接口。这些参数的值可以是主机名或 IP 地址。 -
Version (or later) NDB 8.3.0 Type or units 名称或IP地址 Default [...] Range ... Restart Type 节点重启:需要对集群进行滚动重启。(NDB 8.3.0)
可以使用
HostName1
和HostName2
参数指定用于两个节点之间的TCP连接的特定网络接口。这些参数的值可以是主机名或IP地址。 -
Version (or later) NDB 8.3.0 Type or units 数字 Default [none] Range 1 - 255 Restart Type 节点重启:需要对集群进行滚动重启。(NDB 8.3.0)
要标识两个节点之间的连接,需要在配置文件的
[tcp]
部分提供它们的节点ID作为NodeId1
和NodeId2
的值。这些是每个节点的唯一Id
值,如第25.4.3.7节“在NDB集群中定义SQL和其他API节点”所述。 -
Version (or later) NDB 8.3.0 Type or units 数字 Default [none] Range 1 - 255 Restart Type 节点重启:需要对集群进行滚动重启。(NDB 8.3.0)
要标识两个节点之间的连接,需要在配置文件的
[tcp]
部分提供它们的节点ID作为NodeId1
和NodeId2
的值。这些是每个节点的唯一Id
值,如第25.4.3.7节“在NDB集群中定义SQL和其他API节点”所述。 -
Version (or later) NDB 8.3.0 Type or units 数字 Default [none] Range 1 - 63 Restart Type 节点重启:需要对集群进行滚动重启。(NDB 8.3.0)
设置TCP连接的服务器端。
-
Version (or later) NDB 8.3.0 Type or units 字节 Default 0 Range 0 - 4294967039 (0xFFFFFEFF) Restart Type 节点重启:需要对集群进行滚动重启。(NDB 8.3.0)
当发送缓冲区中的未发送字节数超过这个值时,连接将被认为过载。
可以使用这个参数来确定发送缓冲区中未发送数据的数量,以确定连接是否过载。请参阅第25.4.3.14节“配置NDB集群发送缓冲参数”,以获取更多信息。
-
Version (or later) NDB 8.3.0 Type or units 枚举 Default 4 Range 4, 6 Restart Type 初始系统重启:需要完全关闭集群,使用备份还原集群文件系统,然后重新启动集群。(NDB 8.3.0)
确定DNS解析的IP版本4或版本6的优先级。因为NDB集群的配置检索机制需要所有连接使用相同的优先级,因此这个参数应该在
[tcp default]
部分的全局配置文件config.ini
中设置。 -
Version (or later) NDB 8.3.0 Type or units 布尔值 Default false Range true, false Restart Type 节点重启:需要集群的滚动重启。(NDB 8.3.0)
如果启用了该参数和
Checksum
,则在发送之前执行 checksum 检查,并检查所有 TCP 信号之间的错误。如果Checksum
未启用,则无效。 -
Version (or later) NDB 8.3.0 Type or units 字符串 Default [...] Range ... Restart Type 节点重启:需要集群的滚动重启。(NDB 8.3.0)
设置 TCP 连接的代理。
-
Version (or later) NDB 8.3.0 Type or units 字节 Default 2M Range 16K - 4294967039 (0xFFFFFEFF) Restart Type 节点重启:需要集群的滚动重启。(NDB 8.3.0)
指定从 TCP/IP 套接字接收数据时使用的缓冲区大小。
该参数的默认值为 2MB。最小可能值为 16KB;理论最大值为 4GB。
-
Version (or later) NDB 8.3.0 Type or units 布尔值 Default false Range ... Added NDB Restart Type 节点重启:需要集群的滚动重启。(NDB 8.3.0)
如果节点在 TCP 连接的任一端点需要 TLS 身份验证,则该参数的值为
true
,否则为false
。该值由NDB
设置,无法被用户更改。 -
Version (or later) NDB 8.3.0 Type or units 无符号整数 Default 2M Range 256K - 4294967039 (0xFFFFFEFF) Restart Type 节点重启:需要集群的滚动重启。(NDB 8.3.0)
TCP 传输器使用缓冲区来存储所有消息,然后对操作系统执行发送调用。当缓冲区达到 64KB 时,其内容将被发送;这些内容也将在一轮消息执行后被发送。
如果明确设置了该参数,则内存不会专门分配给每个传输器;相反,该值将表示单个传输器可以使用的最大内存量(来自总可用内存,即
TotalSendBufferMemory
)。有关在 NDB 集群中配置动态传输器发送缓冲区内存分配的更多信息,请参阅第 25.4.3.14 节,“配置 NDB 集群发送缓冲区参数”。默认情况下,发送缓冲区的大小为 2MB,这是大多数情况下的推荐大小。最小大小为 64 KB;理论最大值为 4 GB。
-
Version (or later) NDB 8.3.0 Type or units 布尔值 Default false (调试版本:true) Range true, false Restart Type 节点重启:需要集群的滚动重启。(NDB 8.3.0)
要能够追踪分布式消息数据报文,需要标识每个消息。当该参数设置为
Y
时,消息 ID 将被传输到网络上。在生产版本中,默认情况下禁用该功能,而在调试版本中启用。 -
将该参数设置为
TRUE
或1
,以便将IP_ADDR_ANY
绑定到任何地方(对于自动生成的连接)。默认值为FALSE
(0
)。 -
Version (or later) NDB 8.3.0 Type or units 微秒 Default 0 Range 0 - 2000 Restart Type 节点重启:需要对集群进行滚动重启。(NDB 8.3.0)
控制 TCP 传输器的自旋;无启用,设置为非零值。这适用于数据节点和管理或 SQL 节点连接的两侧。
-
Version (or later) NDB 8.3.0 Type or units 无符号整数 Default 0 Range 0 - 2G Restart Type 节点重启:需要对集群进行滚动重启。(NDB 8.3.0)
确定 TCP 传输器初始化期间设置的内存大小。默认值适用于大多数常见用例。
-
Version (or later) NDB 8.3.0 Type or units 无符号整数 Default 0 Range 0 - 2G Restart Type 节点重启:需要对集群进行滚动重启。(NDB 8.3.0)
确定 TCP 传输器初始化期间设置的接收缓冲区大小。默认值和最小值为 0,允许操作系统或平台设置该值。默认值适用于大多数常见用例。
-
Version (or later) NDB 8.3.0 Type or units 无符号整数 Default 0 Range 0 - 2G Restart Type 节点重启:需要对集群进行滚动重启。(NDB 8.3.0)
确定 TCP 传输器初始化期间设置的发送缓冲区大小。默认值和最小值为 0,允许操作系统或平台设置该值。默认值适用于大多数常见用例。
表 25.20 NDB 集群重启类型
Symbol | Restart Type | Description |
---|---|---|
N | 节点 | 可以使用滚动重启(见第 25.6.5 节,“执行 NDB 集群的滚动重启”)更新参数 |
S | 系统 | 所有集群节点必须完全关闭,然后重新启动,以便更改该参数 |
I | 初始 | 数据节点必须使用 --initial 选项重新启动 |