25.5.4 ndb_mgmd — Демон сервера управления кластером NDB
Сервер управления — это процесс, который считывает файл конфигурации кластера и распределяет эту информацию всем узлам кластера, которые ее запрашивают. Он также ведет журнал действий кластера. Клиенты управления могут подключаться к серверу управления и проверять состояние кластера.
Все параметры, которые можно использовать с ndb_mgmd, показаны в следующей таблице. Дополнительные описания следуют за таблицей.
-
Формат командной строки --bind-address=hostТип Строка Значение по умолчанию [none]Заставляет сервер управления привязаться к определенному сетевому интерфейсу (имя хоста или IP-адрес). Этот параметр не имеет значения по умолчанию.
-
Формат командной строки --character-sets-dir=pathКаталог, содержащий наборы символов.
-
Формат командной строки --cluster-config-suffix=nameТип Строка Значение по умолчанию [none]Переопределяет суффикс группы по умолчанию при чтении разделов конфигурации кластера в
my.cnf; используется в тестировании. -
Формат командной строки --config-cache[=TRUE|FALSE]Тип Булево Значение по умолчанию TRUEЭтот параметр, значение которого по умолчанию равно
1(илиTRUE, илиON), может быть использован для отключения кэша конфигурации сервера управления, чтобы он каждый раз при запуске читал свою конфигурацию изconfig.ini(см. Раздел 25.4.3, «Файлы конфигурации NDB-кластера»). Это можно сделать, запустив процесс ndb_mgmd с любым из следующих параметров:--config-cache=0--config-cache=FALSE--config-cache=OFF
Использование одного из перечисленных параметров эффективно только в том случае, если у сервера управления нет сохранённой конфигурации на момент запуска. Если сервер управления обнаруживает какие-либо файлы кэша конфигурации, то параметр
--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указан без одного из--initialили--reload, ndb_mgmd откажется от запуска.Параметр
--config-fileтакже читается, если ndb_mgmd был запущен с--config-cache=OFF. См. Раздел 25.4.3, «Файлы конфигурации NDB-кластера» для получения дополнительной информации. -
Формат командной строки --configdir=directory--config-dir=directoryТип Имя файла Значение по умолчанию $INSTALLDIR/mysql-clusterУказывает каталог кэша конфигурации сервера управления кластером. Это должен быть абсолютный путь. В противном случае сервер управления откажется от запуска.
--config-dir— псевдоним для этого параметра.
-
Формат командной строки --connect-string=connection_stringТип Строка Значение по умолчанию [none]То же, что и --ndb-connectstring.
-
Формат командной строки --core-fileСохранять файл core при ошибке; используется при отладке.
-
--daemon,-dФормат командной строки --daemonУказывает ndb_mgmd на запуск в качестве демона. Это поведение по умолчанию.
Этот параметр не имеет эффекта при запуске ndb_mgmd на платформах Windows.
-
Формат командной строки --defaults-extra-file=pathТип Строка Значение по умолчанию [none]Читать указанный файл после прочтения глобальных файлов.
-
Формат командной строки --defaults-file=pathТип Строка Значение по умолчанию [none]Читать параметры по умолчанию только из указанного файла.
-
Формат командной строки --defaults-group-suffix=stringТип Строка Значение по умолчанию [none]Также читать группы с concat(группа, суффикс).
-
Формат командной строки --helpОтобразить текст справки и завершить работу.
-
Формат командной строки --initialДанные конфигурации кешируются внутри, а не считываются из файла глобальной конфигурации кластера каждый раз при запуске сервера управления (см. Раздел 25.4.3, «Файлы конфигурации NDB кластера»). Использование параметра
--initialпереопределяет это поведение, заставляя сервер управления удалить все существующие файлы кэша, а затем повторно прочитать данные конфигурации из файла конфигурации кластера и создать новый кэш.Это отличается от параметра
--reloadдвумя способами. Во-первых,--reloadзаставляет сервер проверять файл конфигурации на предмет изменений относительно кэша и перезагружать его данные только в том случае, если содержимое файла отличается от кэша. Во-вторых,--reloadне удаляет какие-либо существующие файлы кэша.Если ndb_mgmd вызывается с
--initial, но не может найти файл глобальной конфигурации, сервер управления не может запуститься.При запуске сервера управления он проверяет наличие другого сервера управления в том же NDB кластере и пытается использовать данные конфигурации другого сервера управления. Это поведение имеет последствия при выполнении постепенной перезагрузки NDB кластера с несколькими узлами управления. Подробнее см. Раздел 25.6.5, «Выполнение постепенной перезагрузки NDB кластера».
При использовании вместе с параметром
--config-file, кэш очищается только в том случае, если файл конфигурации действительно найден. -
Формат командной строки --install[=name]Платформозависимые Windows Тип Строка Значение по умолчанию ndb_mgmdЗаставляет ndb_mgmd установить себя как службу Windows. Дополнительно можно указать имя службы; если не задано, имя службы по умолчанию —
ndb_mgmd. Хотя предпочтительнее указывать другие параметры программы ndb_mgmd в файле конфигурацииmy.iniилиmy.cnf, можно использовать их вместе с--install. Однако в таких случаях параметр--installдолжен быть указан первым, перед любыми другими параметрами, для успешной установки службы Windows.В целом, не рекомендуется использовать этот параметр вместе с параметром
--initial, так как это приводит к очистке и перестроению кэша конфигурации каждый раз при остановке и запуске службы. Также следует быть осторожными, если вы намерены использовать другие параметры ndb_mgmd, которые влияют на запуск сервера управления, и вы должны быть абсолютно уверены, что полностью понимаете и принимаете возможные последствия.Параметр
--installне оказывает никакого влияния на платформы, отличные от Windows. -
Формат командной строки --interactiveЗапускает ndb_mgmd в интерактивном режиме; то есть, сессия клиента ndb_mgm запускается сразу после запуска сервера управления. Этот параметр не запускает другие узлы NDB кластера.
-
Формат командной строки --log-name=nameТип Строка Значение по умолчанию MgmtSrvrПредоставляет имя, используемое для этого узла в журнале кластера.
-
Формат командной строки --login-path=pathТип Строка Значение по умолчанию [none]Читать указанный путь из файла входа.
-
Формат командной строки --no-login-pathsПропускает чтение параметров из файла пути входа.
-
Формат командной строки --mycnfЧтение данных конфигурации из файла
my.cnf. -
Формат командной строки --ndb-connectstring=connection_stringТип Строка Значение по умолчанию [none]Установка строки подключения. Синтаксис:
[nodeid=. Перезаписывает записи вid;][host=]hostname[:port]NDB_CONNECTSTRINGиmy.cnf. Игнорируется, если указан--config-file; выводится предупреждение, если оба параметра используются одновременно. -
Формат командной строки --ndb-mgm-tls=levelТип Перечисление Значение по умолчанию relaxedДопустимые значения relaxedstrictУстанавливает уровень поддержки TLS, необходимый для подключения к серверу управления; одно из значений
relaxedилиstrict.relaxed(значение по умолчанию) означает, что попытка подключения по TLS производится, но успех не обязателен;strictозначает, что TLS необходим для подключения. -
Формат командной строки --ndb-mgmd-host=connection_stringТип Строка Значение по умолчанию [none]То же, что и --ndb-connectstring.
-
Формат командной строки --ndb-nodeid=#Тип Целое число Значение по умолчанию [none]Установка идентификатора узла для данного узла, переопределяя любой идентификатор, установленный параметром --ndb-connectstring.
-
--ndb-optimized-node-selectionФормат командной строки --ndb-optimized-node-selectionВключение оптимизаций для выбора узлов для транзакций. Включено по умолчанию; используйте
--skip-ndb-optimized-node-selectionдля отключения. -
Формат командной строки --ndb-tls-search-path=listТип Имя пути Значение по умолчанию (Unix) $HOME/ndb-tlsЗначение по умолчанию (Windows) $HOMEDIR/ndb-tlsУкажите список каталогов для поиска файла CA. На платформах Unix имена каталогов разделяются двоеточием (
:); в системах Windows в качестве разделителя используется точка с запятой (;). Ссылка на каталог может быть относительной или абсолютной; она может содержать одну или несколько переменных окружения, каждая из которых обозначается префиксом доллара ($), и расширяется перед использованием.Поиск начинается с левого по порядку указанного каталога и продолжается слева направо до тех пор, пока не будет найден файл. Пустая строка обозначает пустой путь поиска, который заставляет все поиски завершиться неудачно. Строка, состоящая только из точки (
.), указывает, что путь поиска ограничен текущим рабочим каталогом.Если путь поиска не указан, используется значение по умолчанию, скомпилированное в продукт. Это значение зависит от используемой платформы: в Windows это
\ndb-tls; на других платформах (включая Linux) это$HOME/ndb-tls. Это может быть переопределено при компиляции NDB Cluster с помощью-DWITH_NDB_TLS_SEARCH_PATH. -
Формат командной строки --no-nodeid-checksНе выполнять проверки идентификаторов узлов.
-
Формат командной строки --nodaemonУказывает ndb_mgmd не запускаться как демонический процесс.
По умолчанию ndb_mgmd на Windows запускается в фоновом режиме, делая этот параметр ненужным на платформах Windows.
-
Формат командной строки --no-defaultsНе читать параметры по умолчанию из файла параметров, кроме файла входа.
-
Формат командной строки --nowait-nodes=listТип Numeric Значение по умолчанию [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, подключенные к этому кластеру. См. Раздел 25.4.3.3, «Строки подключения к кластеру NDB», для получения дополнительной информации.
При использовании с ndb_mgmd, этот параметр влияет на поведение узла управления только в отношении других узлов управления. Не путайте его с параметром
--nowait-nodes, используемым с ndbd или ndbmtd для разрешения запуска кластера с меньшим, чем полный, количеством узлов данных; при использовании с узлами данных этот параметр влияет на их поведение только в отношении других узлов данных.Несколько идентификаторов узлов управления могут быть переданы этому параметру в виде списка, разделенного запятыми. Каждый идентификатор узла должен быть не менее 1 и не более 255. На практике довольно редко используется более двух серверов управления для одного кластера NDB (или возникает необходимость в этом); в большинстве случаев вам нужно передать этому параметру только один идентификатор узла для одного сервера управления, который вы не хотите использовать при запуске кластера.
ПримечаниеКогда вы позже запустите “отсутствующий” сервер управления, его конфигурация должна соответствовать конфигурации сервера управления, который уже используется кластером. В противном случае он не проходит проверку конфигурации, выполняемую существующим сервером управления, и не запускается.
-
Формат командной строки --print-defaultsВывести список аргументов программы и завершить работу.
-
Формат командной строки --print-full-configПоказывает расширенную информацию о конфигурации кластера. С этим параметром в командной строке процесс ndb_mgmd выводит информацию о настройке кластера, включая подробный список разделов конфигурации кластера, а также параметры и их значения. Обычно используется вместе с параметром
--config-file(-f). -
Формат командной строки --reloadДанные конфигурации кластера NDB хранятся во внутренней памяти, а не считываются из глобального файла конфигурации кластера каждый раз при запуске сервера управления (см. Раздел 25.4.3, «Файлы конфигурации кластера NDB»). Использование этого параметра заставляет сервер управления проверять свое внутреннее хранилище данных на соответствие файлу конфигурации кластера и перезагружать конфигурацию, если обнаруживает, что файл конфигурации не соответствует кэшу. Существующие файлы кэша конфигурации сохраняются, но не используются.
Это отличается двумя способами от параметра
--initial. Во-первых,--initialприводит к удалению всех файлов кэша. Во-вторых,--initialзаставляет сервер управления повторно прочитать глобальный файл конфигурации и создать новый кэш.Если сервер управления не может найти глобальный файл конфигурации, то параметр
--reloadигнорируется.При использовании
--reloadсервер управления должен иметь возможность общаться с узлами данных и любыми другими серверами управления в кластере, прежде чем он попытается прочитать глобальный файл конфигурации; в противном случае сервер управления не запустится. Это может произойти из-за изменений в сетевой среде, таких как новые IP-адреса для узлов или измененная конфигурация брандмауэра. В таких случаях необходимо использовать--initialвместо этого, чтобы удалить существующую кэшированную конфигурацию и перезагрузить ее из файла. См. Раздел 25.6.5, «Выполнение перегрузочного перезапуска кластера NDB», для получения дополнительной информации. -
Формат командной строки --remove[=name]Специфично для платформы Windows Тип String Значение по умолчанию ndb_mgmdУдалить процесс сервера управления, установленный как служба Windows, при необходимости указав имя службы, которую необходимо удалить. Применимо только к платформам Windows.
-
Формат командной строки --skip-config-fileНе читать файл конфигурации кластера; игнорировать параметры
--initialи--reload, если они указаны. -
Формат командной строки --usageВывести справку и завершить работу; то же самое, что и --help.
При запуске сервера управления строка подключения не является строго обязательной. Однако, если используется более одного сервера управления, необходимо указать строку подключения, и каждый узел кластера должен явно указать свой идентификатор узла.
Подробности об использовании строк подключения см. в разделе 25.4.3.3 «NDB Cluster Connection Strings». В разделе 25.5.4 «ndb_mgmd — Сервер управления кластером NDB» описаны другие параметры для ndb_mgmd.
После запуска ndb_mgmd в его каталоге создаются или используются следующие файлы, и они размещаются в DataDir в соответствии с параметрами конфигурации в файле config.ini. В списке ниже node_id - уникальный идентификатор узла.
config.ini- файл конфигурации для всего кластера. Этот файл создаётся пользователем и считывается сервером управления. Подробности настройки этого файла см. в разделе 25.4 «Настройка кластера NDB».-
ndb_- журнал событий кластера. Примеры таких событий: запуск и завершение контрольных точек, события запуска узлов, сбои узлов и уровни использования памяти. Полный список событий кластера с описаниями см. в разделе 25.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.