Spec-Zone.ru › MySQL 5.7

21.6.1 Команды в клиенте управления кластером NDB

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

Команды для журналов событий приведены в разделе 21.6.3 «Журналы событий, генерируемые в кластере NDB»; команды для создания резервных копий и восстановления из них приведены в разделе 21.6.8 «Онлайн-резервное копирование кластера NDB».

Использование ndb_mgm с MySQL Cluster Manager. MySQL Cluster Manager управляет запуском и остановкой процессов и отслеживает их состояние внутренне, поэтому нет необходимости использовать ndb_mgm для этих задач для кластера NDB, находящегося под управлением MySQL Cluster Manager. Рекомендуется не использовать командную строку ndb_mgm, поставляемую с дистрибутивом NDB Cluster, для выполнения операций, связанных с запуском или остановкой узлов. Это включает, но не ограничивается, команды START, STOP, RESTART и SHUTDOWN. Более подробную информацию можно найти в Командах управления процессами MySQL Cluster Manager.

Клиент управления имеет следующие основные команды. В приведенном ниже списке node_id обозначает либо идентификатор узла данных, либо ключевое слово ALL, которое указывает, что команда должна быть применена ко всем узлам данных кластера.

  • Подключение к серверу управления

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

  • Создание новой группы узлов NDB Cluster

    Создаёт новую группу узлов NDB Cluster и вызывает присоединение к ней узлов данных.

    Эта команда используется после добавления новых узлов данных в NDB Cluster онлайн и заставляет их присоединиться к новой группе узлов, тем самым начав полностью участвовать в кластере. Команда принимает в качестве единственного параметра список идентификаторов узлов, разделённых запятыми — это идентификаторы только что добавленных и запущенных узлов, которые должны присоединиться к новой группе узлов. Список не должен содержать дублирующих идентификаторов; начиная с NDB 7.5.23 и NDB 7.6.19, наличие дубликатов приводит к ошибке команды. Количество узлов в списке должно быть таким же, как количество узлов в каждой группе узлов, которая уже является частью кластера (каждая группа узлов NDB Cluster должна иметь одинаковое количество узлов). Другими словами, если NDB Cluster состоит из 2 групп узлов с по 2 узлами данных в каждой, то новая группа узлов также должна иметь 2 узла данных.

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

    Дополнительную информацию см. в Разделе 21.6.7, «Добавление узлов данных NDB Cluster онлайн».

  • Удаление группы узлов NDB Cluster

    Удаляет группу узлов NDB Cluster с заданным nodegroup_id.

    Эта команда может использоваться для удаления группы узлов из NDB Cluster. DROP NODEGROUP принимает в качестве единственного аргумента идентификатор группы узлов, подлежащей удалению.

    DROP NODEGROUP действует только для удаления узлов данных из соответствующей группы узлов. Это не останавливает узлы данных, не назначает их другой группе узлов и не удаляет их из конфигурации кластера. Узел данных, не принадлежащий группе узлов, отображается в выводе клиентской программы управления SHOW командой с no nodegroup вместо идентификатора группы узлов, например (выделено жирным шрифтом):

    id=3    @10.100.2.67  (5.7.44-ndb-7.5.36, no nodegroup)
    

    DROP NODEGROUP работает только в том случае, когда все узлы данных в подлежащей удалению группе узлов полностью пусты от данных таблиц и определений таблиц. Поскольку в настоящее время нет возможности с использованием ndb_mgm или клиента mysql удалить все данные со специфического узла данных или группы узлов, это означает, что команда выполняется только в двух следующих случаях:

    1. После выдачи CREATE NODEGROUP в клиенте ndb_mgm, но до выдачи каких-либо ALTER TABLE ... REORGANIZE PARTITION инструкций в клиенте mysql.

    2. После удаления всех NDBCLUSTER таблиц с использованием DROP TABLE.

      TRUNCATE TABLE не работает для этой цели, поскольку это удаляет только данные таблицы; узлы данных по-прежнему хранят определение таблицы NDBCLUSTER, пока не будет выдана инструкция DROP TABLE, которая заставит удалить метаданные таблицы.

    Дополнительную информацию о DROP NODEGROUP см. в Разделе 21.6.7, «Добавление узлов данных NDB Cluster онлайн».

  • Переход в режим работы одного пользователя

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

  • Выход из режима работы одного пользователя

    Выходит из режима работы одного пользователя, разрешая всем узлам SQL (то есть всем работающим процессам mysqld) доступ к базе данных.

    Примечание

    Можно использовать EXIT SINGLE USER MODE даже при отсутствии режима работы одного пользователя, хотя в этом случае команда не оказывает никакого влияния.

  • Справка по командам

    Отображает информацию обо всех доступных командах.

  • Включение/отключение отладочной записи в журнал узла

    Включает или отключает отладочную запись в журнал узла, как будто соответствующий узел данных или узлы были запущены с опцией --verbose. NODELOG DEBUG ON запускает отладочную запись; NODELOG DEBUG OFF выключает отладочную запись.

    Эта команда была добавлена в NDB 7.6.

  • Изменение приглашения

    Изменяет приглашение, отображаемое ndb_mgm на строковый литерал prompt.

    prompt не должен быть заключён в кавычки (если вы не хотите, чтобы приглашение содержало кавычки). В отличие от случая с клиентом mysql, специальные последовательности символов и экранирования не распознаются. Если вызвана без аргумента, команда сбрасывает приглашение до значения по умолчанию (ndb_mgm>).

    Вот несколько примеров:

    ndb_mgm> PROMPT mgm#1:
    mgm#1: SHOW
    Cluster Configuration
    ...
    mgm#1: PROMPT mymgm >
    mymgm > PROMPT 'mymgm:'
    'mymgm:' PROMPT  mymgm:
    mymgm: PROMPT
    ndb_mgm> EXIT
    $>
    

    Обратите внимание, что начальные пробелы и пробелы внутри строки prompt не обрезаются. Конечные пробелы удаляются.

    Команда PROMPT была добавлена в NDB 7.5.0.

  • Завершение работы клиентской программы управления, EXIT

    Прерывает работу клиентской программы управления.

    Эта команда не влияет на какие-либо подключенные к кластеру узлы.

  • Отчёт о состоянии

    Отображает отчёт типа report-type для узла данных, идентифицированного как node_id, или для всех узлов данных с использованием ALL.

    В настоящее время для report-type существуют три допустимых значения:

    • BackupStatus предоставляет отчёт о состоянии резервного копирования кластера, находящегося в процессе выполнения

    • MemoryUsage отображает, сколько памяти данных и памяти индексов используется каждым узлом данных, как показано в этом примере:

      ndb_mgm> ALL REPORT MEMORY
      
      Node 1: Data usage is 5%(177 32K pages of total 3200)
      Node 1: Index usage is 0%(108 8K pages of total 12832)
      Node 2: Data usage is 5%(177 32K pages of total 3200)
      Node 2: Index usage is 0%(108 8K pages of total 12832)
      

      Эта информация также доступна из таблицы ndbinfo.memoryusage.

    • EventLog сообщает об событиях из буферов журнала событий одного или нескольких узлов данных.

    report-type нечувствителен к регистру и “гибкий”; для MemoryUsage, можно использовать MEMORY (как показано в предыдущем примере), memory или даже просто MEM (или mem). Вы можете сокращать BackupStatus аналогичным образом.

  • node_id RESTART [-n] [-i] [-a] [-f]

    Перезапускает узел данных, идентифицированный node_id (или все узлы данных).

    Использование параметра -i с RESTART вызывает первоначальный перезапуск узла данных; то есть, файловая система узла удаляется и воссоздается. Это эквивалентно остановке процесса узла данных и последующему его запуску с помощью ndbd --initial из командной строки.

    Примечание

    Файлы резервных копий и файлы данных диска не удаляются при использовании этого параметра.

    Использование параметра -n вызывает перезапуск процесса узла данных, но узел данных фактически не включается до тех пор, пока не будет выполнена соответствующая команда START. Это эквивалентно остановке и последующему запуску узла данных с помощью ndbd --nostart или ndbd -n из командной строки.

    Использование -a приводит к прерыванию всех текущих транзакций, зависящих от этого узла. Проверка GCP не выполняется при присоединении узла к кластеру.

    Обычно RESTART завершается неудачно, если отключение узла приведет к неполному кластеру. Параметр -f принудительно перезапускает узел без проверки этого. Если этот параметр используется, и результатом является неполный кластер, весь кластер перезапускается.

  • SHOW

    Отображает основную информацию о кластере и узлах кластера. Для всех узлов вывод включает идентификатор узла, тип и NDB версию программного обеспечения. Если узел подключен, также отображается его IP-адрес; в противном случае вывод показывает not connected, accepting connect from ip_address, с any host, используемыми для узлов, которым разрешено подключаться с любого адреса.

    Кроме того, для узлов данных вывод включает starting, если узел еще не запущен, и показывает группу узлов, членом которой является узел. Если узел данных выполняет функцию узла-мастера, это отмечается звездочкой (*).

    Рассмотрим кластер, файл конфигурации которого содержит следующую информацию (возможные дополнительные параметры опущены для ясности):

    [ndbd default]
    DataMemory= 128G
    NoOfReplicas= 2
    
    [ndb_mgmd]
    NodeId=50
    HostName=198.51.100.150
    
    [ndbd]
    NodeId=5
    HostName=198.51.100.10
    DataDir=/var/lib/mysql-cluster
    
    [ndbd]
    NodeId=6
    HostName=198.51.100.20
    DataDir=/var/lib/mysql-cluster
    
    [ndbd]
    NodeId=7
    HostName=198.51.100.30
    DataDir=/var/lib/mysql-cluster
    
    [ndbd]
    NodeId=8
    HostName=198.51.100.40
    DataDir=/var/lib/mysql-cluster
    
    [mysqld]
    NodeId=100
    HostName=198.51.100.100
    
    [api]
    NodeId=101
    

    После запуска этого кластера (включая один узел SQL) SHOW отображает следующий вывод:

    ndb_mgm> SHOW
    Connected to Management Server at: localhost:1186
    Cluster Configuration
    ---------------------
    [ndbd(NDB)]     4 node(s)
    id=5    @198.51.100.10  (5.7.44-ndb-7.6.34, Nodegroup: 0, *)
    id=6    @198.51.100.20  (5.7.44-ndb-7.6.34, Nodegroup: 0)
    id=7    @198.51.100.30  (5.7.44-ndb-7.6.34, Nodegroup: 1)
    id=8    @198.51.100.40  (5.7.44-ndb-7.6.34, Nodegroup: 1)
    
    [ndb_mgmd(MGM)] 1 node(s)
    id=50   @198.51.100.150  (5.7.44-ndb-7.6.34)
    
    [mysqld(API)]   2 node(s)
    id=100  @198.51.100.100  (5.7.44-ndb-7.6.34)
    id=101 (not connected, accepting connect from any host)
    

    Вывод этой команды также указывает, когда кластер находится в режиме одного пользователя (см. описание команды ENTER SINGLE USER MODE, а также Раздел 21.6.6, «Режим одного пользователя в NDB Cluster»).

  • SHUTDOWN

    Выключает все узлы данных и управления кластера. Для выхода из клиента управления после этого используйте EXIT или QUIT.

    Эта команда не выключает узлы SQL или API-узлы, подключенные к кластеру.

  • node_id STATUS

    Отображает информацию о состоянии узла данных, идентифицированного по node_id (или для всех узлов данных).

    Возможные значения состояния узла включают UNKNOWN, NO_CONTACT, NOT_STARTED, STARTING, STARTED, SHUTTING_DOWN и RESTARTING.

    Вывод этой команды также указывает, когда кластер находится в режиме одного пользователя (состояние SINGLE USER MODE).

  • node_id START

    Включает узел данных, идентифицированный по node_id (или все узлы данных).

    ALL START работает только со всеми узлами данных и не влияет на узлы управления.

    Важно

    Чтобы использовать эту команду для включения узла данных, узел данных должен быть запущен с помощью --nostart или -n.

  • node_id STOP [-a] [-f]

    Останавливает узел данных или управления, идентифицированный по node_id.

    Примечание

    ALL STOP работает только для остановки всех узлов данных и не влияет на узлы управления.

    Затронутый узел отключается от кластера, а связанный процесс ndbd или ndb_mgmd завершается.

    Параметр -a заставляет узел остановиться немедленно, без ожидания завершения любых ожидающих транзакций.

    Обычно STOP завершается неудачно, если результатом будет неполный кластер. Параметр -f принудительно останавливает узел без проверки этого. Если этот параметр используется, и результатом является неполный кластер, кластер немедленно останавливается.

    Предупреждение

    Использование параметра -a также отключает проверку безопасности, выполняемую в противном случае при вызове STOP, чтобы убедиться, что остановка узла не приведет к неполному кластеру. Другими словами, следует проявлять особую осторожность при использовании параметра -a с командой STOP, поскольку этот параметр позволяет кластеру подвергнуться принудительной остановке, потому что у него больше нет полной копии всех данных, хранящихся в NDB.

Дополнительные команды. Некоторые другие команды, доступные в клиенте ndb_mgm, описаны в другом месте, как показано в следующем списке:

  • START BACKUP используется для выполнения резервного копирования онлайн в клиенте ndb_mgm; команда ABORT BACKUP используется для отмены уже выполняемой резервной копии. Дополнительная информация приведена в Разделе 21.6.8, «Резервное копирование NDB Cluster онлайн».

  • Команда CLUSTERLOG используется для выполнения различных функций ведения журнала. Дополнительная информация и примеры приведены в Разделе 21.6.3, «Отчеты об событиях, генерируемые в NDB Cluster». NDB 7.6 добавляет NODELOG DEBUG для активации или деактивации отладки в журнале узла, как описано ранее в этом разделе.

  • Для работы с тестированием и диагностикой клиент поддерживает команду DUMP, которая может использоваться для выполнения внутренних команд в кластере. Ее никогда не следует использовать в рабочей среде, если это не указано службой поддержки MySQL. Дополнительная информация приведена в NDB Cluster Management Client DUMP Commands.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/mysql-cluster-mgm-client-commands.html

Spec-Zone.ru

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