21.5.4 ndb_mgmd — Демон управления кластером NDB
Сервер управления — это процесс, который считывает файл конфигурации кластера и распространяет эту информацию по всем узлам кластера, которые ее запрашивают. Он также ведет журнал операций кластера. Клиенты управления могут подключаться к серверу управления и проверять состояние кластера.
Параметры, которые можно использовать с ndb_mgmd, показаны в следующей таблице. Дополнительные описания приведены после таблицы.
Таблица 21.24 Параметры командной строки, используемые с программой ndb_mgmd
| Формат | Описание | Добавленные, устаревшие или удаленные |
|---|---|---|
| Локальный адрес привязки | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Директория, содержащая наборы символов | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Включить кэш конфигурации сервера управления; по умолчанию включено | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Указать файл конфигурации кластера; также укажите --reload или --initial, чтобы переопределить кэш конфигурации, если он присутствует | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Указать директорию кэша конфигурации сервера управления кластером | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Количество попыток повторного подключения перед отказом | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Количество секунд ожидания между попытками связи с сервером управления | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| То же, что и --ndb-connectstring | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Запись файла core при ошибке; используется в отладке | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Запустить ndb_mgmd в режиме демона (по умолчанию) | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Прочитать данный файл после чтения глобальных файлов | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Читать только опции по умолчанию из данного файла | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Также читать группы с concat(group, suffix) | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Отобразить текст справки и выйти | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Заставляет сервер управления перечитывать данные конфигурации из файла конфигурации, минуя кэш конфигурации | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Используется для установки процесса сервера управления как службы Windows; не применяется на других платформах | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Запустить ndb_mgmd в интерактивном режиме (неофициально поддерживается в производстве; только для целей тестирования) | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Имя, используемое при записи сообщений журнала кластера, относящихся к этому узлу | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Прочитать указанный путь из файла входа | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Прочитать данные конфигурации кластера из файла my.cnf | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Установить строку подключения для подключения к ndb_mgmd. Синтаксис: "[nodeid=id;][host=]hostname[:port]". Переопределяет записи в NDB_CONNECTSTRING и my.cnf | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| То же, что и --ndb-connectstring | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Установить идентификатор узла для этого узла, переопределяя любой ID, установленный параметром --ndb-connectstring | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Включить оптимизации для выбора узлов для транзакций. Включено по умолчанию; используйте --skip-ndb-optimized-node-selection для отключения | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Не читать опции по умолчанию из любого файла опций, кроме файла входа | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Не выполнять проверки идентификаторов узлов | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Не запускать ndb_mgmd как демона | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Не ждать узлов управления, указанных при запуске этого сервера управления; требуется параметр --ndb-nodeid | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Вывести список аргументов программы и выйти | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Вывести полную конфигурацию и выйти | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Заставляет сервер управления сравнивать файл конфигурации с кэшем конфигурации | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Используется для удаления процесса сервера управления, ранее установленного как служба Windows, необязательно указывая имя службы, которую нужно удалить; не применяется на других платформах | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Не использовать файл конфигурации | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Вывести текст справки и выйти; то же, что и --help | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Записать дополнительную информацию в журнал | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Отобразить информацию о версии и выйти | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) |
-
--bind-address=hostФормат командной строки --bind-address=hostТип String Значение по умолчанию [none]Заставляет сервер управления привязываться к определенному сетевому интерфейсу (имя хоста или IP-адрес). Этот параметр не имеет значения по умолчанию.
-
--character-sets-dirФормат командной строки --character-sets-dir=pathКаталог, содержащий кодировки символов.
-
--config-cacheФормат командной строки --config-cache[=TRUE|FALSE]Тип Boolean Значение по умолчанию TRUEЭтот параметр, значение по умолчанию которого равно
1(илиTRUE, илиON), может использоваться для отключения кэша конфигурации сервера управления, чтобы он каждый раз при запуске считывал свою конфигурацию изconfig.ini(см. Раздел 21.4.3, «Файлы конфигурации кластера NDB»). Это можно сделать, запустив процесс ndb_mgmd с одним из следующих параметров:--config-cache=0--config-cache=FALSE--config-cache=OFF--skip-config-cache
Использование одного из только что перечисленных параметров эффективно только в том случае, если у сервера управления нет сохраненной конфигурации во время его запуска. Если сервер управления находит какие-либо файлы кэша конфигурации, то параметр
--config-cacheили параметр--skip-config-cacheигнорируется. Поэтому для отключения кэширования конфигурации параметр должен использоваться в первый раз при запуске сервера управления. В противном случае — то есть, если вы хотите отключить кэширование конфигурации для сервера управления, который уже создал кэш конфигурации — необходимо остановить сервер управления, вручную удалить все существующие файлы кэша конфигурации, а затем перезапустить сервер управления с--skip-config-cache(или с--config-cache, установленным равным 0,OFFилиFALSE).Файлы кэша конфигурации обычно создаются в каталоге с именем
mysql-clusterв каталоге установки (если это местоположение не было переопределено с помощью параметра--configdir). Каждый раз, когда сервер управления обновляет свои данные конфигурации, он записывает новый файл кэша. Файлы нумеруются последовательно в порядке создания, используя следующий формат:ndb_
node-id_config.bin.seq-numbernode-id— это идентификатор узла сервера управления;seq-number— это порядковый номер, начинающийся с 1. Например, если идентификатор узла сервера управления равен 5, то первые три файла кэша конфигурации будут при создании называтьсяndb_5_config.bin.1,ndb_5_config.bin.2иndb_5_config.bin.3.Если вы хотите очистить или перезагрузить кэш конфигурации, не отключая фактически кэширование, вы должны запустить ndb_mgmd с одним из параметров
--reloadили--initialвместо--skip-config-cache.Чтобы снова включить кэш конфигурации, просто перезапустите сервер управления, но без параметра
--config-cacheили--skip-config-cache, который использовался ранее для отключения кэша конфигурации.ndb_mgmd не проверяет каталог конфигурации (
--configdir) и не пытается создать его, когда используется--skip-config-cache. (Ошибка #13428853) -
--config-file=,filename-ffilenameФормат командной строки --config-file=fileОтключено параметром skip-config-fileТип Имя файла Значение по умолчанию [none]Указывает серверу управления, какой файл следует использовать для файла конфигурации. По умолчанию сервер управления ищет файл с именем
config.iniв том же каталоге, что и исполняемый файл ndb_mgmd; в противном случае имя и местоположение файла должны быть указаны явно.Этот параметр не имеет значения по умолчанию и игнорируется, если сервер управления не принужден к чтению файла конфигурации, либо потому что ndb_mgmd был запущен с параметром
--reloadили--initial, либо потому что сервер управления не смог найти кэш конфигурации.Параметр
--config-fileтакже считывается, если ndb_mgmd был запущен с--config-cache=OFF. См. Раздел 21.4.3, «Файлы конфигурации кластера NDB», для получения дополнительной информации. -
--configdir=dir_nameФормат командной строки --configdir=directory--config-dir=directoryТип Имя файла Значение по умолчанию $INSTALLDIR/mysql-clusterУказывает каталог кэша конфигурации сервера управления кластером.
--config-dirявляется псевдонимом для этого параметра. -
--connect-retriesФормат командной строки --connect-retries=#Тип Integer Значение по умолчанию 12Минимальное значение 0Максимальное значение 12Количество попыток повторного подключения перед отказом.
-
--connect-retry-delayФормат командной строки --connect-retry-delay=#Тип Integer Значение по умолчанию 5Минимальное значение 0Максимальное значение 5Количество секунд ожидания между попытками связаться с сервером управления.
-
--connect-stringФормат командной строки --connect-string=connection_stringТип String Значение по умолчанию [none]То же самое, что и
--ndb-connectstring. -
--core-fileФормат командной строки --core-fileЗаписать файл ядра при ошибке; используется при отладке.
-
--daemon,-dФормат командной строки --daemonИнструктирует ndb_mgmd запускаться как демонический процесс. Это поведение по умолчанию.
Этот параметр не оказывает никакого влияния при запуске ndb_mgmd на платформах Windows.
-
--defaults-extra-fileФормат командной строки --defaults-extra-file=pathТип String Значение по умолчанию [none]Читать заданный файл после чтения глобальных файлов.
-
--defaults-fileФормат командной строки --defaults-file=pathТип String Значение по умолчанию [none]Читать параметры по умолчанию только из заданного файла.
-
--defaults-group-suffixФормат командной строки --defaults-group-suffix=stringТип String Значение по умолчанию [none]Также читать группы с concat(группа, суффикс).
-
--helpФормат командной строки --helpОтобразить текст справки и выйти.
-
--initialФормат командной строки --initialДанные конфигурации кешируются внутри, а не считываются из файла глобальной конфигурации кластера каждый раз при запуске сервера управления (см. Раздел 21.4.3, “NDB Cluster Configuration Files”). Использование параметра
--initialпереопределяет это поведение, заставляя сервер управления удалить все существующие файлы кеша и повторно прочитать данные конфигурации из файла конфигурации кластера, а затем создать новый кеш.Это отличается от параметра
--reloadдвумя способами. Во-первых,--reloadзаставляет сервер проверить файл конфигурации на соответствие кешу и перезагрузить его данные только в том случае, если содержимое файла отличается от кеша. Во-вторых,--reloadне удаляет любые существующие файлы кеша.Если ndb_mgmd вызывается с параметром
--initial, но не может найти глобальный файл конфигурации, сервер управления не может запуститься.При запуске сервера управления он проверяет наличие другого сервера управления в том же NDB Cluster и пытается использовать данные конфигурации другого сервера управления. Это поведение имеет последствия при выполнении поэтапной перезагрузки NDB Cluster с несколькими узлами управления. Более подробную информацию см. в Разделе 21.6.5, “Performing a Rolling Restart of an NDB Cluster”.
При совместном использовании с параметром
--config-fileкеш очищается только в том случае, если файл конфигурации фактически найден. -
--install[=name]Формат командной строки --install[=name]Платформа Windows Тип String Значение по умолчанию ndb_mgmdЗаставляет ndb_mgmd устанавливаться в качестве службы Windows. При необходимости вы можете указать имя службы; если не установлено, имя службы по умолчанию
ndb_mgmd. Хотя предпочтительнее указывать другие параметры программы ndb_mgmd в файле конфигурацииmy.iniилиmy.cnf, их можно использовать вместе с--install. Однако в таких случаях параметр--installдолжен быть указан первым, прежде чем будут указаны какие-либо другие параметры, для успешной установки службы Windows.Обычно не рекомендуется использовать этот параметр вместе с параметром
--initial, так как это приводит к очистке и перестроению кеша конфигурации каждый раз при остановке и запуске службы. Также следует соблюдать осторожность, если вы планируете использовать любые другие параметры ndb_mgmd, которые влияют на запуск сервера управления, и вы должны убедиться, что полностью понимаете и учитываете возможные последствия этого.Параметр
--installне оказывает влияния на платформы, отличные от Windows. -
--interactiveФормат командной строки --interactiveЗапускает ndb_mgmd в интерактивном режиме; то есть сессия клиента ndb_mgm запускается сразу после запуска сервера управления. Этот параметр не запускает другие узлы NDB Cluster.
-
--login-pathФормат командной строки --login-path=pathТип String Значение по умолчанию [none]Читать заданный путь из файла входа.
-
--no-nodeid-checksФормат командной строки --no-nodeid-checksНе выполнять проверки идентификаторов узлов.
-
--nodaemonФормат командной строки --nodaemonУказывает ndb_mgmd не запускаться в качестве демона.
По умолчанию ndb_mgmd на Windows запускается в фоновом режиме, поэтому этот параметр на платформах Windows не требуется.
-
--nowait-nodesФормат командной строки --nowait-nodes=listТип Числовой Значение по умолчанию [none]Минимальное значение 1Максимальное значение 255При запуске кластера NDB с двумя узлами управления, каждый сервер управления обычно проверяет, работает ли другой ndb_mgmd и идентична ли его конфигурация. Однако иногда желательно запустить кластер только с одним узлом управления (возможно, позволив запустить другой ndb_mgmd позже). Этот параметр позволяет узлу управления пропустить проверки других узлов управления, идентификаторы которых передаются в этом параметре, что позволяет кластеру запуститься так, как если бы он был настроен только на использовании запущенного узла управления.
Для иллюстрации рассмотрим следующую часть файла конфигурации
config.ini(где мы опустили большинство параметров конфигурации, не относящихся к этому примеру):[ndbd] NodeId = 1 HostName = 198.51.100.101 [ndbd] NodeId = 2 HostName = 198.51.100.102 [ndbd] NodeId = 3 HostName = 198.51.100.103 [ndbd] NodeId = 4 HostName = 198.51.100.104 [ndb_mgmd] NodeId = 10 HostName = 198.51.100.150 [ndb_mgmd] NodeId = 11 HostName = 198.51.100.151 [api] NodeId = 20 HostName = 198.51.100.200 [api] NodeId = 21 HostName = 198.51.100.201
Предположим, что вы хотите запустить этот кластер, используя только сервер управления с идентификатором узла
10, работающий на хосте с IP-адресом 198.51.100.150. (Предположим, например, что компьютер-хост, на котором планируется другой сервер управления, временно недоступен из-за аппаратного сбоя, и вы ждёте его ремонта.) Для запуска кластера таким образом используйте командную строку на машине с адресом 198.51.100.150 для ввода следующей команды:$>
ndb_mgmd --ndb-nodeid=10 --nowait-nodes=11Как показано в предыдущем примере, при использовании
--nowait-nodes, необходимо также использовать параметр--ndb-nodeid, чтобы указать идентификатор узла этого процесса ndb_mgmd.Затем вы можете запустить узлы данных кластера обычным способом. Если вы хотите запустить и использовать второй сервер управления в дополнение к первому серверу управления в более позднее время без перезапуска узлов данных, вы должны запустить каждый узел данных с строкой подключения, ссылающейся на оба сервера управления, например:
$>
ndbd -c 198.51.100.150,198.51.100.151То же самое относится к строке подключения, используемой с любыми процессами mysqld, которые вы хотите запустить как узлы SQL NDB Cluster, подключенные к этому кластеру. Дополнительную информацию см. в Раздел 21.4.3.3, «Строки подключения NDB Cluster».
При использовании с ndb_mgmd, этот параметр влияет только на поведение узла управления по отношению к другим узлам управления. Не путайте его с параметром
--nowait-nodes, используемым с ndbd или ndbmtd для запуска кластера с меньшим, чем полный состав, числом узлов данных; при использовании с узлами данных этот параметр влияет только на их поведение по отношению к другим узлам данных.Несколько идентификаторов узлов управления могут передаваться в этом параметре в виде списка, разделённого запятыми. Каждый идентификатор узла должен быть не меньше 1 и не больше 255. На практике крайне редко используются более двух серверов управления для одного NDB Cluster (или для этого есть какая-либо необходимость); в большинстве случаев в этот параметр нужно передать только один идентификатор узла для одного сервера управления, который вы не хотите использовать при запуске кластера.
ПримечаниеПри последующем запуске «отсутствующего» сервера управления его конфигурация должна совпадать с конфигурацией сервера управления, уже используемого кластером. В противном случае он не пройдёт проверку конфигурации, выполняемую существующим сервером управления, и не запустится.
-
--print-defaultsФормат командной строки --print-defaultsПечатает список аргументов программы и завершается.
-
--print-full-config,-PФормат командной строки --print-full-configПоказана расширенная информация о конфигурации кластера. С этим параметром в командной строке процесс ndb_mgmd выводит информацию о настройке кластера, включая подробный список разделов конфигурации кластера, а также параметры и их значения. Обычно используется вместе с параметром
--config-file(-f). -
--reloadФормат командной строки --reloadДанные конфигурации NDB Cluster хранятся в памяти, а не читаются из файла глобальной конфигурации кластера каждый раз при запуске сервера управления (см. Раздел 21.4.3, «Файлы конфигурации NDB Cluster»). С помощью этого параметра сервер управления сравнивает свои внутренние данные с файлом конфигурации кластера и перечитывает конфигурацию, если обнаруживает несоответствие между файлом и кешем. Существующие файлы кеша конфигурации сохраняются, но не используются.
Это отличается от параметра
--initialдвумя способами. Во-первых,--initialприводит к удалению всех файлов кеша. Во-вторых,--initialзаставляет сервер управления повторно прочитать файл глобальной конфигурации и создать новый кеш.Если сервер управления не может найти файл глобальной конфигурации, то параметр
--reloadигнорируется.При использовании параметра
--reloadсервер управления должен иметь возможность общаться с узлами данных и другими серверами управления в кластере, прежде чем попытаться прочитать файл глобальной конфигурации; в противном случае сервер управления не запустится. Это может произойти из-за изменений в сетевой среде, таких как новые IP-адреса узлов или изменённая конфигурация брандмауэра. В таких случаях необходимо использовать параметр--initial, чтобы заставить сервер управления отбросить существующую кэшированную конфигурацию и загрузить её из файла. Дополнительную информацию см. в Разделе 21.6.5, «Выполнение постепенной перезагрузки кластера NDB». -
--remove{=name]Формат командной строки --remove[=name]Специфично для платформы Windows Тип Строка Значение по умолчанию ndb_mgmdУдаляет процесс сервера управления, установленный как служба Windows, при необходимости указывая имя удаляемой службы. Применимо только к платформам Windows.
-
--skip-config-fileФормат командной строки --skip-config-fileНе читать файл конфигурации кластера; игнорировать параметры
--initialи--reload, если они указаны.
-
--usageФормат командной строки --usageОтображение текста справки и выход; то же, что и
--help. -
--verbose,-vФормат командной строки --verboseУдаление процесса сервера управления, установленного как служба Windows, с указанием имени службы для удаления (необязательно). Применимо только к платформам Windows.
-
--versionФормат командной строки --versionОтображение информации о версии и выход.
Строгое указание строки подключения при запуске сервера управления необязательно. Однако, если используется более одного сервера управления, строка подключения должна быть предоставлена, и каждый узел в кластере должен явно указать свой идентификатор узла.
См. Раздел 21.4.3.3, «Строки подключения к кластеру NDB» для получения информации об использовании строк подключения. Раздел 21.5.4, «ndb_mgmd — Демон сервера управления кластером NDB» описывает другие параметры для ndb_mgmd.
Следующие файлы создаются или используются ndb_mgmd в его каталоге запуска и размещаются в DataDir, как указано в файле конфигурации config.ini. В списке ниже node_id — уникальный идентификатор узла.
config.ini— файл конфигурации для всего кластера. Этот файл создается пользователем и читается сервером управления. Раздел 21.4, «Конфигурация кластера NDB» описывает, как настроить этот файл.-
ndb_— файл журнала событий кластера. Примеры таких событий включают запуск и завершение контрольной точки, события запуска узлов, сбои узлов и уровни использования памяти. Полный список событий кластера с описаниями можно найти в Разделе 21.6, «Управление кластером NDB».node_id_cluster.logПо умолчанию, когда размер журнала кластера достигает одного миллиона байт, файл переименовывается в
ndb_, гдеnode_id_cluster.log.seq_idseq_id— порядковый номер файла журнала кластера. (Например: Если файлы с порядковыми номерами 1, 2 и 3 уже существуют, следующий файл журнала будет именоваться с номером4). Вы можете изменить размер, количество файлов и другие характеристики журнала кластера, используя параметр конфигурацииLogDestination. ndb_— файл, используемый дляnode_id_out.logstdoutиstderrпри работе сервера управления как демона.ndb_— файл идентификатора процесса, используемый при работе сервера управления как демона.node_id.pid
© 2025 Oracle
Licensed under the GPLv2 License.