Spec-Zone.ru › MySQL 8.4

25.5.4 ndb_mgmd — Демон сервера управления кластером NDB

Сервер управления — это процесс, который считывает файл конфигурации кластера и распределяет эту информацию всем узлам кластера, которые ее запрашивают. Он также ведет журнал действий кластера. Клиенты управления могут подключаться к серверу управления и проверять состояние кластера.

Все параметры, которые можно использовать с ndb_mgmd, показаны в следующей таблице. Дополнительные описания следуют за таблицей.

  • --bind-address=host

    Формат командной строки --bind-address=host
    Тип Строка
    Значение по умолчанию [none]

    Заставляет сервер управления привязаться к определенному сетевому интерфейсу (имя хоста или IP-адрес). Этот параметр не имеет значения по умолчанию.

  • --character-sets-dir

    Формат командной строки --character-sets-dir=path

    Каталог, содержащий наборы символов.

  • cluster-config-suffix

    Формат командной строки --cluster-config-suffix=name
    Тип Строка
    Значение по умолчанию [none]

    Переопределяет суффикс группы по умолчанию при чтении разделов конфигурации кластера в my.cnf; используется в тестировании.

  • --config-cache

    Формат командной строки --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

    • --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-number
    

    node-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, -f filename

    Формат командной строки --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=dir_name

    Формат командной строки

    --configdir=directory

    --config-dir=directory

    Тип Имя файла
    Значение по умолчанию $INSTALLDIR/mysql-cluster

    Указывает каталог кэша конфигурации сервера управления кластером. Это должен быть абсолютный путь. В противном случае сервер управления откажется от запуска.

    --config-dir — псевдоним для этого параметра.

  • --connect-string

    Формат командной строки --connect-string=connection_string
    Тип Строка
    Значение по умолчанию [none]

    То же, что и --ndb-connectstring.

  • --core-file

    Формат командной строки --core-file

    Сохранять файл core при ошибке; используется при отладке.

  • --daemon, -d

    Формат командной строки --daemon

    Указывает ndb_mgmd на запуск в качестве демона. Это поведение по умолчанию.

    Этот параметр не имеет эффекта при запуске ndb_mgmd на платформах Windows.

  • --defaults-extra-file

    Формат командной строки --defaults-extra-file=path
    Тип Строка
    Значение по умолчанию [none]

    Читать указанный файл после прочтения глобальных файлов.

  • --defaults-file

    Формат командной строки --defaults-file=path
    Тип Строка
    Значение по умолчанию [none]

    Читать параметры по умолчанию только из указанного файла.

  • --defaults-group-suffix

    Формат командной строки --defaults-group-suffix=string
    Тип Строка
    Значение по умолчанию [none]

    Также читать группы с concat(группа, суффикс).

  • --help

    Формат командной строки --help

    Отобразить текст справки и завершить работу.

  • --initial

    Формат командной строки --initial

    Данные конфигурации кешируются внутри, а не считываются из файла глобальной конфигурации кластера каждый раз при запуске сервера управления (см. Раздел 25.4.3, «Файлы конфигурации NDB кластера»). Использование параметра --initial переопределяет это поведение, заставляя сервер управления удалить все существующие файлы кэша, а затем повторно прочитать данные конфигурации из файла конфигурации кластера и создать новый кэш.

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

    Если ndb_mgmd вызывается с --initial, но не может найти файл глобальной конфигурации, сервер управления не может запуститься.

    При запуске сервера управления он проверяет наличие другого сервера управления в том же NDB кластере и пытается использовать данные конфигурации другого сервера управления. Это поведение имеет последствия при выполнении постепенной перезагрузки NDB кластера с несколькими узлами управления. Подробнее см. Раздел 25.6.5, «Выполнение постепенной перезагрузки NDB кластера».

    При использовании вместе с параметром --config-file, кэш очищается только в том случае, если файл конфигурации действительно найден.

  • --install[=name]

    Формат командной строки --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

    Формат командной строки --interactive

    Запускает ndb_mgmd в интерактивном режиме; то есть, сессия клиента ndb_mgm запускается сразу после запуска сервера управления. Этот параметр не запускает другие узлы NDB кластера.

  • --log-name=name

    Формат командной строки --log-name=name
    Тип Строка
    Значение по умолчанию MgmtSrvr

    Предоставляет имя, используемое для этого узла в журнале кластера.

  • --login-path

    Формат командной строки --login-path=path
    Тип Строка
    Значение по умолчанию [none]

    Читать указанный путь из файла входа.

  • --no-login-paths

    Формат командной строки --no-login-paths

    Пропускает чтение параметров из файла пути входа.

  • --mycnf

    Формат командной строки --mycnf

    Чтение данных конфигурации из файла my.cnf.

  • --ndb-connectstring

    Формат командной строки --ndb-connectstring=connection_string
    Тип Строка
    Значение по умолчанию [none]

    Установка строки подключения. Синтаксис: [nodeid=id;][host=]hostname[:port]. Перезаписывает записи в NDB_CONNECTSTRING и my.cnf. Игнорируется, если указан --config-file; выводится предупреждение, если оба параметра используются одновременно.

  • --ndb-mgm-tls

    Формат командной строки --ndb-mgm-tls=level
    Тип Перечисление
    Значение по умолчанию relaxed
    Допустимые значения

    relaxed

    strict

    Устанавливает уровень поддержки TLS, необходимый для подключения к серверу управления; одно из значений relaxed или strict. relaxed (значение по умолчанию) означает, что попытка подключения по TLS производится, но успех не обязателен; strict означает, что TLS необходим для подключения.

  • --ndb-mgmd-host

    Формат командной строки --ndb-mgmd-host=connection_string
    Тип Строка
    Значение по умолчанию [none]

    То же, что и --ndb-connectstring.

  • --ndb-nodeid

    Формат командной строки --ndb-nodeid=#
    Тип Целое число
    Значение по умолчанию [none]

    Установка идентификатора узла для данного узла, переопределяя любой идентификатор, установленный параметром --ndb-connectstring.

  • --ndb-optimized-node-selection

    Формат командной строки --ndb-optimized-node-selection

    Включение оптимизаций для выбора узлов для транзакций. Включено по умолчанию; используйте --skip-ndb-optimized-node-selection для отключения.

  • --ndb-tls-search-path

    Формат командной строки --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

    Формат командной строки --no-nodeid-checks

    Не выполнять проверки идентификаторов узлов.

  • --nodaemon

    Формат командной строки --nodaemon

    Указывает ndb_mgmd не запускаться как демонический процесс.

    По умолчанию ndb_mgmd на Windows запускается в фоновом режиме, делая этот параметр ненужным на платформах Windows.

  • --no-defaults

    Формат командной строки --no-defaults

    Не читать параметры по умолчанию из файла параметров, кроме файла входа.

  • --nowait-nodes

    Формат командной строки --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-defaults

    Вывести список аргументов программы и завершить работу.

  • --print-full-config, -P

    Формат командной строки --print-full-config

    Показывает расширенную информацию о конфигурации кластера. С этим параметром в командной строке процесс ndb_mgmd выводит информацию о настройке кластера, включая подробный список разделов конфигурации кластера, а также параметры и их значения. Обычно используется вместе с параметром --config-file (-f).

  • --reload

    Формат командной строки --reload

    Данные конфигурации кластера NDB хранятся во внутренней памяти, а не считываются из глобального файла конфигурации кластера каждый раз при запуске сервера управления (см. Раздел 25.4.3, «Файлы конфигурации кластера NDB»). Использование этого параметра заставляет сервер управления проверять свое внутреннее хранилище данных на соответствие файлу конфигурации кластера и перезагружать конфигурацию, если обнаруживает, что файл конфигурации не соответствует кэшу. Существующие файлы кэша конфигурации сохраняются, но не используются.

    Это отличается двумя способами от параметра --initial. Во-первых, --initial приводит к удалению всех файлов кэша. Во-вторых, --initial заставляет сервер управления повторно прочитать глобальный файл конфигурации и создать новый кэш.

    Если сервер управления не может найти глобальный файл конфигурации, то параметр --reload игнорируется.

    При использовании --reload сервер управления должен иметь возможность общаться с узлами данных и любыми другими серверами управления в кластере, прежде чем он попытается прочитать глобальный файл конфигурации; в противном случае сервер управления не запустится. Это может произойти из-за изменений в сетевой среде, таких как новые IP-адреса для узлов или измененная конфигурация брандмауэра. В таких случаях необходимо использовать --initial вместо этого, чтобы удалить существующую кэшированную конфигурацию и перезагрузить ее из файла. См. Раздел 25.6.5, «Выполнение перегрузочного перезапуска кластера NDB», для получения дополнительной информации.

  • --remove[=name]

    Формат командной строки --remove[=name]
    Специфично для платформы Windows
    Тип String
    Значение по умолчанию ndb_mgmd

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

  • --skip-config-file

    Формат командной строки --skip-config-file

    Не читать файл конфигурации кластера; игнорировать параметры --initial и --reload, если они указаны.

  • --usage

    Формат командной строки --usage

    Вывести справку и завершить работу; то же самое, что и --help.

  • --verbose, -v

    Формат командной строки --verbose

    Удаляет процесс сервера управления, установленный как служба Windows, необязательно указывая имя удаляемой службы. Применяется только к платформам Windows.

  • --version

    Формат командной строки --version

    Отображает информацию о версии и завершает работу.

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

Подробности об использовании строк подключения см. в разделе 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_node_id_cluster.log - журнал событий кластера. Примеры таких событий: запуск и завершение контрольных точек, события запуска узлов, сбои узлов и уровни использования памяти. Полный список событий кластера с описаниями см. в разделе 25.6 «Управление кластером NDB».

    По умолчанию, когда размер журнала кластера достигает одного миллиона байт, файл переименовывается в ndb_node_id_cluster.log.seq_id, где seq_id - порядковый номер файла журнала кластера. (Например: если файлы с порядковыми номерами 1, 2 и 3 уже существуют, следующий файл журнала получит имя с номером 4). Вы можете изменить размер и количество файлов, а также другие характеристики журнала кластера, используя параметр конфигурации LogDestination.

  • ndb_node_id_out.log - файл, используемый для stdout и stderr при запуске сервера управления как демона.

  • ndb_node_id.pid - файл идентификатора процесса, используемый при запуске сервера управления как демона.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/mysql-cluster-programs-ndb-mgmd.html

Spec-Zone.ru

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