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, частью которого является ndb_config, включая следующую информацию:Краткое описание цели, эффектов и использования каждого параметра
Раздел файла
config.ini, где может использоваться параметрТип данных или единица измерения параметра
Где применимо, значения по умолчанию, минимальные и максимальные значения параметра
Информация о версии выпуска и сборке кластера NDB
По умолчанию этот вывод находится в текстовом формате. Часть этого вывода показана здесь:
$>
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/8.4,(null) DataDir,/local/data/8.4,. DataMemory,2G,98M FileSystemPath,/local/data/8.4,(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/8.4,(null) DataDir,/local/data/8.4. DataMemory,2G,98M FileSystemPath,/local/data/8.4,(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/8.4 [ndbd] NodeId= 6 HostName= 127.0.0.1 DataDir= /local/data/8.4
Сравнивая вывод с файлом конфигурации, можно увидеть, что все настройки в файле были записаны сервером управления в двоичный кэш и, таким образом, применены к кластеру.
-
Формат командной строки --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 Connections», и Раздел 25.4.3.12, «NDB Cluster Shared-Memory Connections», для получения дополнительной информации).Этот параметр взаимоисключающий с
--nodesи--system; можно использовать только один из этих 3 параметров. -
Формат командной строки --core-fileЗаписать файл core при ошибке; используется при отладке.
-
Формат командной строки --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Тип Имя пути Значение по умолчанию (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(ID узла), тип (тип узла—то есть,ndbd,mysqldилиndb_mgmd) и любые параметры конфигурации, значения которых необходимо получить.Например,
--query=nodeid,type,datamemory,datadirвозвращает ID узла, тип узла,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 выводила результат в формате 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 Cluster во время компиляции ndb_config. По этой причине подключение к работающему NDB Cluster или доступ к файламconfig.iniилиmy.cnfне требуется для этих двух параметров.
Комбинирование других параметров ndb_config (таких как --query или --type) с --configinfo (с или без параметра --xml) не поддерживается. В настоящее время, если вы попытаетесь это сделать, все параметры, кроме --configinfo или --xml, будут просто проигнорированы. Однако, это поведение не гарантируется и может быть изменено в любое время. Кроме того, так как ndb_config при использовании с параметром --configinfo не обращается к NDB Cluster и не считывает какие-либо файлы, попытка указать дополнительные параметры, такие как --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.