25.5.7 ndb_config — Извлечение информации о конфигурации кластера NDB
Этот инструмент извлекает текущую информацию о конфигурации узлов данных, узлов SQL и API-узлов из одного из нескольких источников: узел управления кластером NDB, или его config.ini или my.cnf файл. По умолчанию, узлом управления является источник данных конфигурации; чтобы переопределить значение по умолчанию, выполните ndb_config с опцией --config-file или --mycnf. Также возможно использовать узел данных в качестве источника, указав его идентификатор узла с помощью --config_from_node=. node_id
ndb_config также может предоставить автономную копию всех параметров конфигурации, которые можно использовать вместе со значениями по умолчанию, максимальными и минимальными значениями и другой информацией. Копия может быть создана в текстовом или XML формате; для получения дополнительной информации см. описание опций --configinfo и --xml в этой секции.
Вы можете фильтровать результаты по разделу (DB, SYSTEM или CONNECTIONS) с помощью одной из опций --nodes, --system или --connections.
Все опции, которые могут быть использованы с ndb_config, показаны в следующей таблице. Дополнительные описания следуют за таблицей.
-
Формат командной строки --character-sets-dir=pathКаталог, содержащий кодировки символов.
-
Формат командной строки --cluster-config-suffix=nameТип String Значение по умолчанию [none]Переопределяет суффикс группы значений по умолчанию при чтении разделов конфигурации кластера в
my.cnf; используется при тестировании. -
Параметр
--configinfoприводит к тому, что ndb_config выводит список каждого параметра конфигурации кластера NDB, поддерживаемого дистрибутивом NDB Cluster, частью которого является ndb_config, включая следующую информацию:Краткое описание цели, эффектов и использования каждого параметра
Раздел файла
config.ini, где может использоваться параметрТип данных или единица измерения параметра
Применимо, значения по умолчанию, минимальные и максимальные значения параметра
Информация о версии выпуска и сборке NDB Cluster
По умолчанию этот вывод находится в текстовом формате. Часть этого вывода показана здесь:
$>
ndb_config --configinfo****** SYSTEM ****** Name (String) Name of system (NDB Cluster) MANDATORY PrimaryMGMNode (Non-negative Integer) Node id of Primary ndb_mgmd(MGM) node Default: 0 (Min: 0, Max: 4294967039) ConfigGenerationNumber (Non-negative Integer) Configuration generation number Default: 0 (Min: 0, Max: 4294967039) ****** DB ****** MaxNoOfSubscriptions (Non-negative Integer) Max no of subscriptions (default 0 == MaxNoOfTables) Default: 0 (Min: 0, Max: 4294967039) MaxNoOfSubscribers (Non-negative Integer) Max no of subscribers (default 0 == 2 * MaxNoOfTables) Default: 0 (Min: 0, Max: 4294967039) …Используйте этот параметр вместе с параметром
--xmlдля получения вывода в формате XML. -
--config-binary-file=path-to-fileФормат командной строки --config-binary-file=path/to/fileТип Имя файла Значение по умолчанию Указывает путь к кэшированному бинарному файлу конфигурации сервера управления (
ndb_). Это может быть относительный или абсолютный путь. Если сервер управления и используемый двоичный файл ndb_config находятся на разных хостах, необходимо использовать абсолютный путь.nodeID_config.bin.seqnoВ этом примере показано объединение
--config-binary-fileс другими параметрами ndb_config для получения полезного вывода:$>
ndb_config --config-binary-file=../mysql-cluster/ndb_50_config.bin.1 --diff-default --type=ndbdconfig of [DB] node id 5 that is different from default CONFIG_PARAMETER,ACTUAL_VALUE,DEFAULT_VALUE NodeId,5,(mandatory) BackupDataDir,/local/data/9.2,(null) DataDir,/local/data/9.2,. DataMemory,2G,98M FileSystemPath,/local/data/9.2,(null) HostName,127.0.0.1,localhost Nodegroup,0,(null) ThreadConfig,,(null) config of [DB] node id 6 that is different from default CONFIG_PARAMETER,ACTUAL_VALUE,DEFAULT_VALUE NodeId,6,(mandatory) BackupDataDir,/local/data/9.2,(null) DataDir,/local/data/9.2. DataMemory,2G,98M FileSystemPath,/local/data/9.2,(null) HostName,127.0.0.1,localhost Nodegroup,0,(null) ThreadConfig,,(null) $>ndb_config --config-binary-file=../mysql-cluster/ndb_50_config.bin.1 --diff-default --systemconfig of [SYSTEM] system CONFIG_PARAMETER,ACTUAL_VALUE,DEFAULT_VALUE Name,MC_20220906060042,(mandatory) ConfigGenerationNumber,1,0 PrimaryMGMNode,50,0Соответствующие части файла
config.iniпоказаны здесь:[ndbd default] DataMemory= 2G NoOfReplicas= 2 [ndb_mgmd] NodeId= 50 HostName= 127.0.0.1 [ndbd] NodeId= 5 HostName= 127.0.0.1 DataDir= /local/data/9.2 [ndbd] NodeId= 6 HostName= 127.0.0.1 DataDir= /local/data/9.2
Сравнивая вывод с файлом конфигурации, можно увидеть, что все параметры в файле были записаны сервером управления в бинарный кэш и, таким образом, применены к кластеру.
-
Формат командной строки --config-file=file_nameТип Имя файла Значение по умолчанию Указывает путь к файлу конфигурации кластера (
config.ini). Это может быть относительный или абсолютный путь. Если сервер управления и используемый двоичный файл ndb_config находятся на разных хостах, необходимо использовать абсолютный путь. -
Формат командной строки --config-from-node=#Тип Numeric Значение по умолчанию noneМинимальное значение 1Максимальное значение 48Получить данные конфигурации кластера из узла данных, имеющего этот ID.
Если узел с этим ID не является узлом данных, ndb_config завершается с ошибкой. (Чтобы получить данные конфигурации вместо этого из узла управления, просто опустите этот параметр.)
-
Формат командной строки --connect-retries=#Тип Integer Значение по умолчанию 12Минимальное значение 0Максимальное значение 12Количество попыток повторного подключения перед отказом.
-
Формат командной строки --connect-retry-delay=#Тип Integer Значение по умолчанию 5Минимальное значение 0Максимальное значение 5Количество секунд ожидания между попытками связаться с сервером управления.
-
Формат командной строки --connect-string=connection_stringТип String Значение по умолчанию [none]То же самое, что и
--ndb-connectstring. -
Формат командной строки --connectionsГоворит ndb_config печатать только информацию о
CONNECTIONS— то есть информацию о параметрах, найденных в разделах[tcp],[tcp default],[shm]или[shm default]файла конфигурации кластера (см. Раздел 25.4.3.10, «Подключения NDB Cluster TCP/IP», и Раздел 25.4.3.12, «Подключения NDB Cluster с общей памятью» для получения дополнительной информации).Этот параметр является взаимоисключающим с
--nodesи--system; можно использовать только один из этих 3 параметров. -
Формат командной строки --core-fileЗаписать дамп памяти при ошибке; используется при отладке.
-
Формат командной строки --defaults-extra-file=pathТип String Значение по умолчанию [none]Прочитать заданный файл после чтения глобальных файлов.
-
Формат командной строки --defaults-file=pathТип String Значение по умолчанию [none]Прочитать параметры по умолчанию только из заданного файла.
-
Формат командной строки --defaults-group-suffix=stringТип String Значение по умолчанию [none]Также читает группы с помощью concat(group, suffix).
-
Формат командной строки --diff-defaultВыводить только параметры конфигурации, имеющие значения, отличные от значений по умолчанию.
-
--fields=,delimiter-fdelimiterФормат командной строки --fields=stringТип String Значение по умолчанию Указывает
delimiterстроку, используемую для разделения полей в результате. Значение по умолчанию —,(запятая).ПримечаниеЕсли
delimiterсодержит пробелы или escape-последовательности (например,\nдля символа перевода строки), то она должна быть заключена в кавычки. -
Формат командной строки --helpОтобразить справку и завершить работу.
-
Формат командной строки --host=nameТип String Значение по умолчанию Указывает имя хоста узла, для которого необходимо получить информацию о конфигурации.
ПримечаниеХотя имя хоста
localhostобычно разрешается в IP-адрес127.0.0.1, это не обязательно верно для всех операционных платформ и конфигураций. Это означает, что возможно, когдаlocalhostиспользуется вconfig.ini, что ndb_config--host=localhostможет завершиться неудачей, если ndb_config выполняется на другом хосте, гдеlocalhostразрешается в другой адрес (например, в некоторых версиях SUSE Linux это127.0.0.2). В общем, для достижения наилучших результатов следует использовать числовые IP-адреса для всех значений конфигурации NDB Cluster, относящихся к хостам, или убедиться, что все хосты NDB Cluster обрабатываютlocalhostодинаково. -
Формат командной строки --login-path=pathТип String Значение по умолчанию [none]Читает заданный путь из файла входа.
-
Формат командной строки --mycnfЧитает данные конфигурации из файла
my.cnf. -
--ndb-connectstring=,connection_string-cconnection_stringФормат командной строки --ndb-connectstring=connection_stringТип String Значение по умолчанию [none]Указывает строку соединения, используемую для подключения к серверу управления. Формат строки соединения такой же, как описано в Разделе 25.4.3.3, «Строки соединения NDB Cluster», и по умолчанию равно
localhost:1186. -
Формат командной строки --ndb-mgm-tls=levelТип Enumeration Значение по умолчанию relaxedДопустимые значения relaxedstrictУстанавливает уровень поддержки TLS, необходимый для подключения к серверу управления; одно из
relaxedилиstrict.relaxed(по умолчанию) означает, что попытка установить TLS-соединение предпринимается, но успех не обязателен;strictозначает, что для подключения требуется TLS. -
Формат командной строки --ndb-mgmd-host=connection_stringТип String Значение по умолчанию [none]То же, что и
--ndb-connectstring. -
Формат командной строки --ndb-nodeid=#Тип Integer Значение по умолчанию [none]Устанавливает идентификатор узла для этого узла, переопределяя любой идентификатор, установленный
--ndb-connectstring. -
--ndb-optimized-node-selectionФормат командной строки --ndb-optimized-node-selectionВключить оптимизацию выбора узлов для транзакций. Включено по умолчанию; используйте
--skip-ndb-optimized-node-selectionдля отключения. -
Формат командной строки --ndb-tls-search-path=listТип Path name Значение по умолчанию (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-defaultsНе читать параметры по умолчанию из любого файла параметров, кроме файла входа.
-
Формат командной строки --no-login-pathsПропускает чтение параметров из файла пути входа.
-
Формат командной строки --ndb-nodeid=#Тип Integer Значение по умолчанию [none]Указывает ID узла, для которого необходимо получить информацию о конфигурации.
-
Формат командной строки --nodesГоворит ndb_config вывести информацию, относящуюся только к параметрам, определенным в разделе
[ndbd]или[ndbd default]файла конфигурации кластера (см. Раздел 25.4.3.6, «Определение узлов данных кластера NDB»).Эта опция взаимоисключающая с
--connectionsи--system; можно использовать только один из этих 3-х вариантов. -
Формат командной строки --print-defaultsВывести список аргументов программы и завершить работу.
-
--query=,query-options-qquery-optionsФормат командной строки --query=stringТип String Значение по умолчанию Это список параметров запроса, разделенный запятыми, — то есть список одного или нескольких атрибутов узла, которые должны быть возвращены. Они включают
nodeid(идентификатор узла), тип (тип узла — то есть,ndbd,mysqldилиndb_mgmd) и любые параметры конфигурации, значения которых необходимо получить.Например,
--query=nodeid,type,datamemory,datadirвозвращает идентификатор узла, тип узла,DataMemoryиDataDirдля каждого узла.ПримечаниеЕсли данный параметр не применим к определенному типу узла, то для соответствующего значения возвращается пустая строка. Дополнительную информацию см. в примерах далее в этом разделе.
-
--query-all,-aФормат командной строки --query-allТип String Значение по умолчанию Возвращает список всех параметров запроса (атрибуты узла; обратите внимание, что этот список представляет собой одну строку.
-
--rows=,separator-rseparatorФормат командной строки --rows=stringТип String Значение по умолчанию Указывает строку
separator, используемую для разделения строк в результате. По умолчанию используется пробел.ПримечаниеЕсли
separatorсодержит пробелы или escape-последовательности (например,\nдля символа перевода строки), то она должна быть заключена в кавычки. -
Формат командной строки --systemГоворит ndb_config вывести только информацию о
SYSTEM. Это системные переменные, которые нельзя изменить во время выполнения; таким образом, для них нет соответствующего раздела файла конфигурации кластера. Их можно увидеть (с префиксом****** SYSTEM ******) в выводе ndb_config--configinfo.Эта опция взаимоисключающая с
--nodesи--connections; можно использовать только один из этих 3-х вариантов. -
Формат командной строки --type=nameТип Enumeration Значение по умолчанию [none]Допустимые значения ndbdmysqldndb_mgmdФильтрует результаты так, чтобы возвращались только значения конфигурации, применимые к узлам указанного
node_type(ndbd,mysqldилиndb_mgmd). -
--usage,--help, или-?Формат командной строки --helpЗаставляет ndb_config вывести список доступных параметров и завершить работу.
-
--version,-VФормат командной строки --versionЗаставляет ndb_config вывести строку с информацией о версии и завершить работу.
-
--configinfo--xmlФормат командной строки --configinfo --xmlВызвать ndb_config
--configinfoдля вывода в формате XML, добавив этот параметр. Часть такого вывода показана в этом примере:$>
ndb_config --configinfo --xml<configvariables protocolversion="1" ndbversionstring="5.7.44-ndb-7.5.36" ndbversion="460032" ndbversionmajor="7" ndbversionminor="5" ndbversionbuild="0"> <section name="SYSTEM"> <param name="Name" comment="Name of system (NDB Cluster)" type="string" mandatory="true"/> <param name="PrimaryMGMNode" comment="Node id of Primary ndb_mgmd(MGM) node" type="unsigned" default="0" min="0" max="4294967039"/> <param name="ConfigGenerationNumber" comment="Configuration generation number" type="unsigned" default="0" min="0" max="4294967039"/> </section> <section name="MYSQLD" primarykeys="NodeId"> <param name="wan" comment="Use WAN TCP setting as default" type="bool" default="false"/> <param name="HostName" comment="Name of computer for this node" type="string" default=""/> <param name="Id" comment="NodeId" type="unsigned" mandatory="true" min="1" max="255" deprecated="true"/> <param name="NodeId" comment="Number identifying application node (mysqld(API))" type="unsigned" mandatory="true" min="1" max="255"/> <param name="ExecuteOnComputer" comment="HostName" type="string" deprecated="true"/> … </section> … </configvariables>ПримечаниеОбычно вывод XML, создаваемый ndb_config
--configinfo--xml, форматируется с одной строкой на элемент; мы добавили дополнительные пробелы в предыдущем и следующем примерах для повышения читабельности. Это не должно повлиять на приложения, использующие этот вывод, поскольку большинство обработчиков XML по умолчанию игнорируют неявные пробелы или могут быть настроены на их игнорирование.Вывод XML также указывает, требует ли изменение данного параметра перезапуска узлов данных с помощью параметра
--initial. Это показано наличием атрибутаinitial="true"в соответствующем элементе<param>. Кроме того, отображается тип перезапуска (systemилиnode); если для изменения параметра требуется перезапуск системы, это указывается наличием атрибутаrestart="system"в соответствующем элементе<param>. Например, изменение значения параметраDisklessтребует начального перезапуска системы, как показано здесь (с выделенными для наглядности атрибутамиrestartиinitial):<param name="Diskless" comment="Run wo/ disk" type="bool" default="false" restart="system" initial="true"/>В настоящее время атрибут
initialне включается в XML-вывод для элементов<param>, соответствующих параметрам, которые не требуют начального перезапуска; другими словами,initial="false"является значением по умолчанию, и значениеfalseследует считать, если атрибут отсутствует. Аналогично, тип перезапуска по умолчанию —node(то есть онлайн или “постепенный” перезапуск кластера), но атрибутrestartвключается только в том случае, если тип перезапуска —system(то есть все узлы кластера должны быть остановлены одновременно, а затем перезапущены).Устаревшие параметры указываются в выводе XML атрибутом
deprecated, как показано здесь:<param name="NoOfDiskPagesToDiskAfterRestartACC" comment="DiskCheckpointSpeed" type="unsigned" default="20" min="1" max="4294967039" deprecated="true"/>В таких случаях
commentотносится к одному или нескольким параметрам, которые заменяют устаревший параметр. Аналогичноinitial, атрибутdeprecatedуказывается только при устаревании параметра, с значениемdeprecated="true", и не отображается для параметров, которые не устарели. (Ошибка #21127135)Обязательные параметры указываются с
mandatory="true", как показано здесь:<param name="NodeId" comment="Number identifying application node (mysqld(API))" type="unsigned" mandatory="true" min="1" max="255"/>Подобно тому, как атрибут
initialилиdeprecatedотображается только для параметра, требующего начального перезапуска или устаревшего, атрибутmandatoryвключается только в том случае, если данный параметр действительно обязателен.ВажноПараметр
--xmlможет использоваться только с параметром--configinfo. Использование--xmlбез--configinfoприводит к ошибке.В отличие от параметров, используемых с этой программой для получения текущих данных конфигурации,
--configinfoи--xmlиспользуют информацию, полученную из источников NDB-кластера при компиляции ndb_config. Поэтому подключение к работающему кластеру NDB или доступ к файламconfig.iniилиmy.cnfне требуется для этих двух параметров.
Сочетание других параметров ndb_config (таких как --query или --type) с --configinfo (с или без параметра --xml) не поддерживается. В настоящее время, если вы попытаетесь сделать это, все параметры, кроме --configinfo или --xml, просто игнорируются. Однако такое поведение не гарантируется и может быть изменено в любое время. Кроме того, поскольку ndb_config при использовании параметра --configinfo не обращается к кластеру NDB или не читает файлы, попытка указать дополнительные параметры, такие как --ndb-connectstring или --config-file, вместе с --configinfo не имеет смысла.
Примеры
-
Для получения идентификатора узла и типа каждого узла в кластере:
$>
./ndb_config --query=nodeid,type --fields=':' --rows='\n'1:ndbd 2:ndbd 3:ndbd 4:ndbd 5:ndb_mgmd 6:mysqld 7:mysqld 8:mysqld 9:mysqldВ этом примере мы использовали параметры
--fields, чтобы разделить идентификатор и тип каждого узла двоеточием (:), а параметры--rows, чтобы разместить значения каждого узла на новой строке в выводе. -
Для создания строки подключения, которую могут использовать узлы данных, SQL и API для подключения к узлу управления:
$>
./ndb_config --config-file=usr/local/mysql/cluster-data/config.ini \ --query=hostname,portnumber --fields=: --rows=, --type=ndb_mgmd198.51.100.179:1186 -
Это вызов ndb_config проверяет только узлы данных (используя параметр
--type) и отображает значения идентификатора и имени хоста каждого узла, а также значения, заданные для параметровDataMemoryиDataDir:$>
./ndb_config --type=ndbd --query=nodeid,host,datamemory,datadir -f ' : ' -r '\n'1 : 198.51.100.193 : 83886080 : /usr/local/mysql/cluster-data 2 : 198.51.100.112 : 83886080 : /usr/local/mysql/cluster-data 3 : 198.51.100.176 : 83886080 : /usr/local/mysql/cluster-data 4 : 198.51.100.119 : 83886080 : /usr/local/mysql/cluster-dataВ этом примере мы использовали короткие параметры
-fи-rдля установки разделителя полей и разделителя строк соответственно, а также короткий параметр-qдля передачи списка параметров, которые нужно получить. -
Чтобы исключить результаты с любого хоста, кроме определенного, используйте параметр
--host:$>
./ndb_config --host=198.51.100.176 -f : -r '\n' -q id,type3:ndbd 5:ndb_mgmdВ этом примере мы также использовали короткий параметр
-qдля определения атрибутов, которые нужно запросить.Аналогично, вы можете ограничить результаты узлом с определённым идентификатором, используя параметр
--nodeid.
© 2025 Oracle
Licensed under the GPLv2 License.