Spec-Zone.ru › MySQL 9.2

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 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_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/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 --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/9.2
    
    [ndbd]
    NodeId= 6
    HostName= 127.0.0.1
    DataDir= /local/data/9.2
    

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

  • --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», и Раздел 25.4.3.12, «Подключения NDB Cluster с общей памятью» для получения дополнительной информации).

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

  • --core-file

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

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

  • --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
    Тип 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-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 (идентификатор узла), тип (тип узла — то есть, ndbd, mysqld или ndb_mgmd) и любые параметры конфигурации, значения которых необходимо получить.

    Например, --query=nodeid,type,datamemory,datadir возвращает идентификатор узла, тип узла, 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 --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 не имеет смысла.

Примеры

  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-9.2-en/mysql-cluster-programs-ndb-config.html

Spec-Zone.ru

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