25.4.3.3 Строки подключения к кластеру NDB
За исключением сервера управления кластером NDB (ndb_mgmd), каждый узел, входящий в кластер NDB, требует строки подключения, указывающей расположение сервера управления. Эта строка подключения используется для установления соединения с сервером управления, а также для выполнения других задач в зависимости от роли узла в кластере. Синтаксис строки подключения следующий:
[nodeid=node_id, ]host-definition[, host-definition[, ...]]
host-definition:
host_name[:port_number]
node_id — целое число, большее или равное 1, которое идентифицирует узел в config.ini. host_name — строка, представляющая допустимое имя хоста или IP-адрес в интернете. port_number — целое число, обозначающее номер порта 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).
Указание нескольких определений хоста позволяет обозначить несколько резервных серверов управления. Узел данных или API кластера NDB пытается связаться со следующими серверами управления на каждом хосте в указанном порядке, пока не будет установлено успешное соединение.
Также возможно указать в строке подключения один или несколько адресов привязки, которые будут использоваться узлами с несколькими сетевыми интерфейсами для подключения к серверам управления. Адрес привязки состоит из имени хоста или сетевого адреса и необязательного номера порта. Этот расширенный синтаксис для строк подключения показан здесь:
[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]
Если в строке подключения используется единственный адрес привязки до указания хостов серверов управления, то этот адрес используется в качестве значения по умолчанию для подключения к любому из них (если не переопределен для данного сервера управления; см. пример позже в этом разделе). Например, следующая строка подключения заставляет узел использовать 198.51.100.242 независимо от сервера управления, к которому он подключается:
bind-address=198.51.100.242, poseidon:1186, perch:1186
Если адрес привязки указан после определения хоста сервера управления, то он используется только для подключения к этому узлу управления. Рассмотрим следующую строку подключения:
poseidon:1186;bind-address=localhost, perch:1186;bind-address=198.51.100.242
В этом случае узел использует localhost для подключения к серверу управления, работающему на хосте с именем poseidon, и 198.51.100.242 для подключения к серверу управления, работающему на хосте с именем perch.
Вы можете указать адрес привязки по умолчанию и затем переопределить его для одного или нескольких конкретных хостов серверов управления. В следующем примере localhost используется для подключения к серверу управления, работающему на хосте poseidon; так как 198.51.100.242 указан первым (перед какими-либо определениями серверов управления), он является адресом привязки по умолчанию и используется для подключения к серверам управления на хостах perch и orca:
bind-address=198.51.100.242,poseidon:1186;bind-address=localhost,perch:1186,orca:2200
Существует несколько способов указания строки подключения:
Каждое исполняемое приложение имеет собственный параметр командной строки, который позволяет указать сервер управления при запуске. (См. документацию соответствующего исполняемого файла.)
Также возможно установить строку подключения для всех узлов в кластере одновременно, разместив её в разделе
[mysql_cluster]файла конфигурацииmy.cnfсервера управления.-
Для обратной совместимости доступны ещё два варианта с тем же синтаксисом:
-
Установите переменную окружения
NDB_CONNECTSTRING, содержащую строку подключения.Это следует считать устаревшим и не использовать в новых установках.
-
Запишите строку подключения для каждого исполняемого файла в текстовый файл с именем
Ndb.cfgи поместите этот файл в папку запуска исполняемого файла.Использование этого файла было устаревшим с версии NDB 9.1.0, и его использование вызывает предупреждение. Ожидается, что он будет удалён в будущих выпусках MySQL Cluster.
Однако эти варианты теперь устарели и не должны использоваться для новых установок.
-
Рекомендуемый способ указания строки подключения — задать её в командной строке или в файле my.cnf для каждого исполняемого файла.
© 2025 Oracle
Licensed under the GPLv2 License.