Spec-Zone.ru › MySQL 9.2

25.4.3.1 Конфигурация NDB кластера: базовый пример

Для поддержки NDB Cluster, необходимо обновить my.cnf, как показано в следующем примере. Вы также можете указать эти параметры в командной строке при вызове исполняемых файлов.

Примечание

Параметры, показанные здесь, не следует путать с теми, которые используются в config.ini файлах глобальной конфигурации. Параметры глобальной конфигурации рассматриваются позже в этом разделе.

# my.cnf
# example additions to my.cnf for NDB Cluster
# (valid in MySQL 9.2)

# enable ndbcluster storage engine, and provide connection string for
# management server host (default port is 1186)
[mysqld]
ndbcluster
ndb-connectstring=ndb_mgmd.mysql.com


# provide connection string for management server host (default port: 1186)
[ndbd]
connect-string=ndb_mgmd.mysql.com

# provide connection string for management server host (default port: 1186)
[ndb_mgm]
connect-string=ndb_mgmd.mysql.com

# provide location of cluster configuration file
# IMPORTANT: When starting the management server with this option in the
# configuration file, the use of --initial or --reload on the command line when
# invoking ndb_mgmd is also required.
[ndb_mgmd]
config-file=/etc/config.ini

(Для получения дополнительной информации о строках подключения см. Раздел 25.4.3.3, «Строки подключения к NDB кластеру».)

# my.cnf
# example additions to my.cnf for NDB Cluster
# (works on all versions)

# enable ndbcluster storage engine, and provide connection string for management
# server host to the default port 1186
[mysqld]
ndbcluster
ndb-connectstring=ndb_mgmd.mysql.com:1186
Важно

После запуска процесса mysqld с параметрами NDBCLUSTER и ndb-connectstring в [mysqld] файле my.cnf, как показано ранее, невозможно выполнить какие-либо операторы CREATE TABLE или ALTER TABLE, не запустив фактически кластер. В противном случае эти операторы завершатся ошибкой. Это сделано по умолчанию.

Вы также можете использовать отдельный раздел [mysql_cluster] в файле конфигурации кластера my.cnf для параметров, которые будут читаться и использоваться всеми исполняемыми файлами:

# cluster-specific settings
[mysql_cluster]
ndb-connectstring=ndb_mgmd.mysql.com:1186

Для дополнительных NDB переменных, которые можно установить в файле my.cnf, см. Раздел 25.4.3.9.2, «Системные переменные NDB кластера».

Файл глобальной конфигурации NDB Cluster по умолчанию называется config.ini (но это не обязательно). При необходимости он читается ndb_mgmd при запуске и может быть размещен в любом месте, которое может быть им прочитано. Местоположение и имя конфигурации указываются с помощью --config-file=path_name с ndb_mgmd в командной строке. Этот параметр не имеет значения по умолчанию и игнорируется, если ndb_mgmd использует кэш конфигурации.

Файл глобальной конфигурации NDB Cluster использует формат INI, который состоит из разделов, предваряемых заголовками разделов (в квадратных скобках), за которыми следуют соответствующие имена и значения параметров. Отличие от стандартного формата INI заключается в том, что имя и значение параметра могут быть разделены двоеточием (:), а также знаком равенства (=); однако знак равенства предпочтительнее. Другое отличие состоит в том, что разделы не однозначно идентифицируются по имени раздела. Вместо этого уникальные разделы (например, два разных узла одного типа) идентифицируются по уникальному идентификатору, указанному как параметр в разделе.

Для большинства параметров определены значения по умолчанию, которые также можно указать в config.ini. Чтобы создать раздел со значениями по умолчанию, просто добавьте слово default к имени раздела. Например, раздел [ndbd] содержит параметры, применяемые к определённому узлу данных, а раздел [ndbd default] содержит параметры, применяемые ко всем узлам данных. Предположим, что все узлы данных должны использовать одинаковый размер памяти данных. Для их конфигурации создайте раздел [ndbd default], содержащий строку DataMemory для указания размера памяти данных.

Если используется, раздел [ndbd default] должен предшествовать любым разделам [ndbd] в файле конфигурации. Это также верно для разделов default любого другого типа.

Примечание

В некоторых более ранних версиях NDB Cluster не было значения по умолчанию для NoOfReplicas, которое всегда нужно было явно указывать в разделе [ndbd default]. Хотя теперь этот параметр имеет значение по умолчанию 2, что является рекомендуемым значением в большинстве распространённых сценариев использования, всё ещё рекомендуется явно устанавливать этот параметр.

Файл глобальной конфигурации должен определять компьютеры и узлы, участвующие в кластере, и на каких компьютерах эти узлы расположены. Вот пример простого файла конфигурации для кластера, состоящего из одного сервера управления, двух узлов данных и двух серверов MySQL:

# file "config.ini" - 2 data nodes and 2 SQL nodes
# This file is placed in the startup directory of ndb_mgmd (the
# management server)
# The first MySQL Server can be started from any host. The second
# can be started only on the host mysqld_5.mysql.com

[ndbd default]
NoOfReplicas= 2
DataDir= /var/lib/mysql-cluster

[ndb_mgmd]
Hostname= ndb_mgmd.mysql.com
DataDir= /var/lib/mysql-cluster

[ndbd]
HostName= ndbd_2.mysql.com

[ndbd]
HostName= ndbd_3.mysql.com

[mysqld]
[mysqld]
HostName= mysqld_5.mysql.com
Примечание

Приведённый выше пример предназначен в качестве минимальной начальной конфигурации для ознакомления с NDB Cluster и, скорее всего, недостаточен для производственных сред. См. Раздел 25.4.3.2, «Рекомендуемая начальная конфигурация для NDB кластера», в котором приведён более полный пример начальной конфигурации.

Каждый узел имеет свой собственный раздел в файле config.ini. Например, этот кластер имеет два узла данных, поэтому предшествующий файл конфигурации содержит два раздела [ndbd], определяющие эти узлы.

Примечание

Не размещайте комментарии в одной строке с заголовком раздела в файле config.ini; это приводит к тому, что сервер управления не запускается, потому что в таких случаях он не может разобрать файл конфигурации.

Разделы файла config.ini

В файле конфигурации config.ini можно использовать шесть различных разделов, как описано в следующем списке:

  • [computer]: Определяет узлы кластера. Это не обязательно для конфигурации работоспособного NDB Cluster, но может быть использовано для удобства при настройке большого кластера. См. Раздел 25.4.3.4, «Определение компьютеров в NDB кластере» для получения дополнительной информации.

  • [ndbd]: Определяет узел данных кластера (ndbd процесс). См. Раздел 25.4.3.6, «Определение узлов данных NDB кластера» для получения подробностей.

  • [mysqld]: Определяет узлы сервера MySQL кластера (также называемые узлами SQL или API). Для обсуждения конфигурации узлов SQL см. Раздел 25.4.3.7, «Определение узлов SQL и других узлов API в NDB кластере».

  • [mgm] или [ndb_mgmd]: Определяет узел сервера управления кластером (MGM). Для получения информации о конфигурации узлов управления см. Раздел 25.4.3.5, «Определение сервера управления NDB кластера».

  • [tcp]: Определяет TCP/IP соединение между узлами кластера, при этом TCP/IP является протоколом передачи по умолчанию. Обычно, разделы [tcp] или [tcp default] не нужны для настройки NDB Cluster, так как кластер обрабатывает это автоматически; однако, в некоторых ситуациях может потребоваться переопределение значений по умолчанию, предоставляемых кластером. См. Раздел 25.4.3.10, «TCP/IP соединения NDB кластера» для получения информации о доступных параметрах конфигурации TCP/IP и о способах их использования. (Также может быть интересно прочитать Раздел 25.4.3.11, «TCP/IP соединения NDB кластера с использованием прямых соединений» в некоторых случаях.)

  • [shm]: Определяет соединения с общей памятью между узлами. В MySQL 9.2 оно включено по умолчанию, но всё ещё следует считать экспериментальным. Для обсуждения межсоединений SHM см. Раздел 25.4.3.12, «Соединения с общей памятью NDB кластера».

  • [sci]: Определяет соединения Scalable Coherent Interface между узлами данных кластера. Не поддерживается в NDB 9.2.

Вы можете определить default значения для каждого раздела. Если используется, раздел default должен предшествовать любым другим разделам этого типа. Например, раздел [ndbd default] должен появляться в файле конфигурации до любых разделов [ndbd].

Имена параметров NDB Cluster не чувствительны к регистру, за исключением случаев, когда это указано в файлах my.cnf или my.ini сервера MySQL.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/mysql-cluster-config-example.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API