Spec-Zone.ru › MySQL 8.4

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

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

    Каталог, содержащий кодировки.

  • cluster-config-suffix

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

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

  • --configinfo

    Параметр --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_nodeID_config.bin.seqno). Это может быть относительный или абсолютный путь. Если сервер управления и используемый двоичный файл ndb_config находятся на разных хостах, необходимо использовать абсолютный путь.

    В этом примере показано комбинирование --config-binary-file с другими параметрами ndb_config для получения полезного вывода:

    $> ndb_config --config-binary-file=../mysql-cluster/ndb_50_config.bin.1 --diff-default --type=ndbd
    config 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 --system
    config 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=path-to-file

    Формат командной строки --config-file=file_name
    Тип Имя файла
    Значение по умолчанию

    Указывает путь к файлу конфигурации кластера (config.ini). Это может быть относительный или абсолютный путь. Если сервер управления и используемый двоичный файл ndb_config находятся на разных хостах, необходимо использовать абсолютный путь.

  • --config_from_node=#

    Формат командной строки --config-from-node=#
    Тип Numeric
    Значение по умолчанию none
    Минимальное значение 1
    Максимальное значение 48

    Получить данные конфигурации кластера с узла данных, имеющего этот ID.

    Если узел с этим ID не является узлом данных, ndb_config завершается с ошибкой. (Чтобы получить данные конфигурации с узла управления, просто опустите этот параметр.)

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

  • --connections

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

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

  • --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(group, suffix).

  • --diff-default

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

    Выводить только параметры конфигурации, имеющие значения, отличные от значений по умолчанию.

  • --fields=delimiter, -f delimiter

    Формат командной строки --fields=string
    Тип String
    Значение по умолчанию

    Задает delimiter строку, используемую для разделения полей в результате. Значение по умолчанию — , (запятая).

    Примечание

    Если delimiter содержит пробелы или escape-последовательности (например, \n для символа перевода строки), то она должна быть заключена в кавычки.

  • --help

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

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

  • --host=hostname

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

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

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

  • --mycnf

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

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

  • --ndb-connectstring=connection_string, -c connection_string

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

    Указывает строку подключения, используемую для подключения к серверу управления. Формат строки подключения такой же, как описано в Разделе 25.4.3.3, «Строки подключения NDB Cluster», и по умолчанию равно localhost:1186.

  • --ndb-mgm-tls

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

    relaxed

    strict

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

  • --ndb-mgmd-host

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

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

  • --ndb-nodeid

    Формат командной строки --ndb-nodeid=#
    Тип Integer
    Значение по умолчанию [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-defaults

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

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

  • --no-login-paths

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

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

  • --nodeid=node_id

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

    Указывает ID узла, для которого необходимо получить информацию о конфигурации.

  • --nodes

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

    Указывает ndb_config вывести информацию, относящуюся только к параметрам, определенным в разделе [ndbd] или [ndbd default] файла конфигурации кластера (см. Раздел 25.4.3.6, «Определение узлов данных кластера NDB»).

    Эта опция взаимоисключающая с --connections и --system; можно использовать только один из этих 3 вариантов.

  • --print-defaults

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

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

  • --query=query-options, -q query-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, -r separator

    Формат командной строки --rows=string
    Тип String
    Значение по умолчанию

    Указывает separator строку, используемую для разделения строк в результате. Значение по умолчанию — пробел.

    Примечание

    Если separator содержит пробелы или escape-последовательности (например, \n для символа перевода строки), то она должна быть заключена в кавычки.

  • --system

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

    Указывает ndb_config вывести только информацию о SYSTEM. Это системные переменные, которые нельзя изменить во время выполнения; таким образом, для них нет соответствующего раздела файла конфигурации кластера. Их можно увидеть (с префиксом ****** SYSTEM ******) в выводе ndb_config --configinfo.

    Эта опция взаимоисключающая с --nodes и --connections; можно использовать только один из этих 3 вариантов.

  • --type=node_type

    Формат командной строки --type=name
    Тип Enumeration
    Значение по умолчанию [none]
    Допустимые значения

    ndbd

    mysqld

    ndb_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, не имеет смысла.

Примеры

  1. Для получения идентификатора узла и типа каждого узла в кластере:

    $> ./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 для размещения значений каждого узла на новой строке в выводе.

  2. Для создания строки подключения, которую могут использовать узлы данных, SQL и API для подключения к серверу управления:

    $> ./ndb_config --config-file=usr/local/mysql/cluster-data/config.ini \
    --query=hostname,portnumber --fields=: --rows=, --type=ndb_mgmd
    198.51.100.179:1186
    
  3. Этот вызов 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 для передачи списка параметров, которые нужно получить.

  4. Для исключения результатов с любого хоста, кроме определённого, используйте параметр --host:

    $> ./ndb_config --host=198.51.100.176 -f : -r '\n' -q id,type
    3:ndbd
    5:ndb_mgmd
    

    В этом примере мы также использовали короткую форму -q для определения атрибутов, которые нужно запросить.

    Аналогично, вы можете ограничить результаты узлом с определённым идентификатором, используя параметр --nodeid.

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

Spec-Zone.ru

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