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 удалить все данные со специфического узла данных или группы узлов, это означает, что команда выполняется только в двух следующих случаях:После выдачи
CREATE NODEGROUPв клиенте ndb_mgm, но до выдачи каких-либоALTER TABLE ... REORGANIZE PARTITIONинструкций в клиенте mysql.-
После удаления всех
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:SHOWCluster Configuration ... mgm#1:PROMPT mymgm >mymgm >PROMPT 'mymgm:''mymgm:'PROMPT mymgm:mymgm:PROMPTndb_mgm>EXIT$>Обратите внимание, что начальные пробелы и пробелы внутри строки
promptне обрезаются. Конечные пробелы удаляются.Команда
PROMPTбыла добавлена в NDB 7.5.0. -
Завершение работы клиентской программы управления,
EXITПрерывает работу клиентской программы управления.
Эта команда не влияет на какие-либо подключенные к кластеру узлы.
-
Отображает отчёт типа
report-typeдля узла данных, идентифицированного какnode_id, или для всех узлов данных с использованиемALL.В настоящее время для
report-typeсуществуют три допустимых значения:BackupStatusпредоставляет отчёт о состоянии резервного копирования кластера, находящегося в процессе выполнения-
MemoryUsageотображает, сколько памяти данных и памяти индексов используется каждым узлом данных, как показано в этом примере:ndb_mgm>
ALL REPORT MEMORYNode 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_idRESTART [-n] [-i] [-a] [-f]Перезапускает узел данных, идентифицированный
node_id(или все узлы данных).Использование параметра
-iсRESTARTвызывает первоначальный перезапуск узла данных; то есть, файловая система узла удаляется и воссоздается. Это эквивалентно остановке процесса узла данных и последующему его запуску с помощью ndbd--initialиз командной строки.ПримечаниеФайлы резервных копий и файлы данных диска не удаляются при использовании этого параметра.
Использование параметра
-nвызывает перезапуск процесса узла данных, но узел данных фактически не включается до тех пор, пока не будет выполнена соответствующая командаSTART. Это эквивалентно остановке и последующему запуску узла данных с помощью ndbd--nostartили ndbd-nиз командной строки.Использование
-aприводит к прерыванию всех текущих транзакций, зависящих от этого узла. Проверка GCP не выполняется при присоединении узла к кластеру.Обычно
RESTARTзавершается неудачно, если отключение узла приведет к неполному кластеру. Параметр-fпринудительно перезапускает узел без проверки этого. Если этот параметр используется, и результатом является неполный кластер, весь кластер перезапускается. -
Отображает основную информацию о кластере и узлах кластера. Для всех узлов вывод включает идентификатор узла, тип и
NDBверсию программного обеспечения. Если узел подключен, также отображается его IP-адрес; в противном случае вывод показываетnot connected, accepting connect from, сip_addressany 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>
SHOWConnected 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»). -
Выключает все узлы данных и управления кластера. Для выхода из клиента управления после этого используйте
EXITилиQUIT.Эта команда не выключает узлы SQL или API-узлы, подключенные к кластеру.
-
Отображает информацию о состоянии узла данных, идентифицированного по
node_id(или для всех узлов данных).Возможные значения состояния узла включают
UNKNOWN,NO_CONTACT,NOT_STARTED,STARTING,STARTED,SHUTTING_DOWNиRESTARTING.Вывод этой команды также указывает, когда кластер находится в режиме одного пользователя (состояние
SINGLE USER MODE). -
Включает узел данных, идентифицированный по
node_id(или все узлы данных).ALL STARTработает только со всеми узлами данных и не влияет на узлы управления.ВажноЧтобы использовать эту команду для включения узла данных, узел данных должен быть запущен с помощью
--nostartили-n. -
Останавливает узел данных или управления, идентифицированный по
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.