21.3.3.3 NDB 群集连接字符串
除了 NDB 群集 Management 服务器(ndb_mgmd)以外,属于 NDB 群集的每个节点都需要一个指向 Management 服务器位置的连接字符串。此连接字符串用于构建与 Management 服务器的连接以及根据集群中节点的角色执行其他任务。连接字符串的语法如下:
[nodeid=node_id, ]host-definition[, host-definition[, ...]]
host-definition:
host_name[:port_number]
node_id
是大于或等于 1 的整数,用于标识config.ini
中的节点。 * host_name
*是 table 示有效的 Internet 主机名或 IP 地址的字符串。 * port_number
*是一个整数,table 示 TCP/IP 端口号。
example 1 (long): "nodeid=2,myhost1:1100,myhost2:1100,198.51.100.3:1200"
example 2 (short): "myhost1"
如果未提供,则将localhost:1186
用作默认连接字符串值。如果连接字符串中省略* port_num
*,则默认端口为 1186.此端口应始终在网络上可用,因为 IANA 为此目的已为其分配了此端口(有关详细信息,请参见http://www.iana.org/assignments/port-numbers)。
通过列出多个主机定义,可以指定多个冗余 Management 服务器。 NDB 群集数据或 API 节点尝试按指定的 Sequences 联系每个主机上的后续 Management 服务器,直到构建成功的连接为止。
还可以在连接字符串中指定一个或多个绑定地址,以供具有多个网络接口的节点用于连接到 Management 服务器。绑定地址由主机名或网络地址和可选的端口号组成。连接字符串的增强语法如下所示:
[nodeid=node_id, ]
[bind-address=host-definition, ]
host-definition[; bind-address=host-definition]
host-definition[; bind-address=host-definition]
[, ...]]
host-definition:
host_name[:port_number]
如果在连接字符串* prior *中使用单个绑定地址来指定任何 Management 主机,则该地址将用作连接到其中任何主机的默认地址(除非被给定的 Management 服务器覆盖;请参阅本节后面的内容)例)。例如,以下连接字符串使节点使用198.51.100.242
而不管其连接到的 Management 服务器是什么:
bind-address=198.51.100.242, poseidon:1186, perch:1186
如果在 Management 主机定义之后指定了绑定地址,则该绑定地址仅用于连接到该 Management 节点。考虑以下连接字符串:
poseidon:1186;bind-address=localhost, perch:1186;bind-address=198.51.100.242
在这种情况下,节点使用localhost
连接到在名为poseidon
的主机上运行的 Management 服务器,并使用198.51.100.242
连接到在perch
的主机上运行的 Management 服务器。
您可以指定默认绑定地址,然后为一个或多个特定 Management 主机覆盖此默认地址。在以下示例中,localhost
用于连接到主机poseidon
上运行的 Management 服务器;由于先指定198.51.100.242
(在任何 Management 服务器定义之前),因此它是默认的绑定地址,因此用于连接主机perch
和orca
上的 Management 服务器:
bind-address=198.51.100.242,poseidon:1186;bind-address=localhost,perch:1186,orca:2200
有多种不同的方法来指定连接字符串:
-
每个可执行文件都有其自己的命令行选项,该选项可在启动时指定 Management 服务器。 (请参阅相应可执行文件的文档.)
-
通过将其放置在 Management 服务器的
my.cnf
文件的[mysql_cluster]
部分中,也可以一次为集群中的所有节点设置连接字符串。 -
为了向后兼容,可以使用相同的语法提供另外两个选项:
-
设置
NDB_CONNECTSTRING
环境变量以包含连接字符串。 -
将每个可执行文件的连接字符串写到名为
Ndb.cfg
的文本文件中,然后将此文件放置在可执行文件的启动目录中。
但是,现在已弃用这些文件,不应将它们用于新安装。
建议的指定连接字符串的方法是在命令行或每个可执行文件的my.cnf
文件中进行设置。