21.3.3.11 使用直接连接的 NDB 群集 TCP/IP 连接

使用数据节点之间的直接连接构建群集需要在群集config.ini文件的[tcp]部分中明确指定这样连接的数据节点的交叉 IP 地址。

在以下示例中,我们设想一个群集,该群集至少包含四个主机,每个主机用于 Management 服务器,一个 SQL 节点和两个数据节点。整个群集都位于 LAN 的172.23.72.*子网中。除了通常的网络连接之外,两个数据节点还使用标准交叉电缆直接连接,并使用1.1.0.*地址范围内的 IP 地址直接相互通信,如下所示:

# Management Server
[ndb_mgmd]
Id=1
HostName=172.23.72.20

# SQL Node
[mysqld]
Id=2
HostName=172.23.72.21

# Data Nodes
[ndbd]
Id=3
HostName=172.23.72.22

[ndbd]
Id=4
HostName=172.23.72.23

# TCP/IP Connections
[tcp]
NodeId1=3
NodeId2=4
HostName1=1.1.0.1
HostName2=1.1.0.2

HostName1HostName2参数仅在指定直接连接时使用。

在数据节点之间使用直接 TCP 连接可以使数据节点绕过诸如交换机,集线器或 Router 之类的以太网设备,从而减少群集的延迟,从而提高群集的整体效率。

Note

为了最大程度地利用这种方式与两个以上的数据节点进行直接连接,必须在每个数据节点与同一节点组中的每个其他数据节点之间构建直接连接。