25.6.1 Команды в клиенте управления кластером NDB
Помимо центрального файла конфигурации, кластер также можно управлять через командную строку, доступную через клиент управления ndb_mgm. Это основной интерфейс администрирования работающего кластера.
Команды для журналов событий приведены в разделе 25.6.3 «Отчёты об событиях, генерируемые в кластере NDB»; команды для создания резервных копий и восстановления из них представлены в разделе 25.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. Для получения дополнительной информации см. .
У клиента управления есть следующие базовые команды. В списке ниже, node_id обозначает либо идентификатор узла данных, либо ключевое слово ALL, которое указывает, что команда должна применяться ко всем узлам данных кластера.
-
Подключается к серверу управления, указанному в строке подключения. Если клиент уже подключен к этому серверу, клиент повторно подключается.
-
CREATE NODEGROUPnodeid[,nodeid, ...]Создает новую группу узлов кластера NDB и вызывает присоединение узлов данных к ней.
Эта команда используется после добавления новых узлов данных в онлайн-режиме в кластер NDB и вызывает их присоединение к новой группе узлов, что, таким образом, заставляет их полностью участвовать в кластере. Команда принимает в качестве единственного параметра список идентификаторов узлов, разделенных запятыми — это идентификаторы только что добавленных и запущенных узлов, которые должны присоединиться к новой группе узлов. Список не должен содержать дублирующих идентификаторов; наличие дубликатов приводит к ошибке команды. Количество узлов в списке должно совпадать с количеством узлов в каждой группе узлов, которая уже является частью кластера (каждая группа узлов кластера NDB должна иметь одинаковое количество узлов). Другими словами, если кластер NDB состоит из 2 групп узлов, каждая из которых содержит по 2 узла данных, то новая группа узлов также должна содержать 2 узла данных.
Идентификатор группы узлов новой группы узлов, созданной этой командой, определяется автоматически и всегда является следующим по порядку неиспользуемым идентификатором группы узлов в кластере; его нельзя установить вручную.
Дополнительную информацию см. в разделе 25.6.7 «Добавление узлов данных кластера NDB онлайн».
-
Удаляет группу узлов кластера NDB с заданным
nodegroup_id.Эта команда может быть использована для удаления группы узлов из кластера NDB.
DROP NODEGROUPпринимает в качестве единственного аргумента идентификатор группы узлов, подлежащей удалению.DROP NODEGROUPдействует только для удаления узлов данных в затронутой группе узлов из этой группы узлов. Он не останавливает узлы данных, не назначает их другой группе узлов и не удаляет их из конфигурации кластера. Узел данных, не принадлежащий группе узлов, указывается в выводе клиента управления командойSHOWсо значениемno nodegroupвместо идентификатора группы узлов, как показано здесь (указано жирным шрифтом):id=3 @10.100.2.67 (8.4.5-ndb-8.4.5, 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см. в разделе 25.6.7 «Добавление узлов данных кластера NDB онлайн». -
ENTER SINGLE USER MODEnode_idПереходит в режим работы с одним пользователем, в котором только сервер MySQL, идентифицированный по идентификатору узла
node_id, имеет разрешение на доступ к базе данных.Клиент ndb_mgm предоставляет четкое подтверждение о том, что эта команда была выполнена и вступила в силу, как показано здесь:
ndb_mgm>
ENTER SINGLE USER MODE 100Single user mode entered Access is granted for API node 100 only.Кроме того, узел API или SQL, имеющий эксклюзивный доступ в режиме одного пользователя, указывается в выводе команды
SHOW, как показано здесь:ndb_mgm>
SHOWCluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=5 @127.0.0.1 (mysql-8.4.5 ndb-8.4.5, single user mode, Nodegroup: 0, *) id=6 @127.0.0.1 (mysql-8.4.5 ndb-8.4.5, single user mode, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=50 @127.0.0.1 (mysql-8.4.5 ndb-8.4.5) [mysqld(API)] 2 node(s) id=100 @127.0.0.1 (mysql-8.4.5 ndb-8.4.5, allowed single user) id=101 (not connected, accepting connect from any host) -
Выходит из режима работы с одним пользователем, позволяя всем узлам SQL (то есть всем работающим процессам mysqld) получить доступ к базе данных.
ПримечаниеМожно использовать
EXIT SINGLE USER MODEдаже когда не находится в режиме работы с одним пользователем, хотя в этом случае команда не оказывает никакого влияния. -
Отображает информацию обо всех доступных командах.
-
node_idNODELOG DEBUG {ON|OFF}Включает или выключает отладку в журнале узла, как если бы затронутый узел данных или узлы были запущены с параметром
--verbose.NODELOG DEBUG ONвключает отладку;NODELOG DEBUG OFFвыключает отладку. -
Изменяет подсказку, отображаемую клиентом 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не обрезаются. Конец строки удаляется. -
Прерывает работу клиента управления.
Эта команда не влияет на подключенные к кластеру узлы.
-
Отображает отчет типа
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 (using cleartext) Cluster Configuration --------------------- [ndbd(NDB)] 4 node(s) id=5 @198.51.100.10 (mysql-8.4.5 ndb-8.4.5, Nodegroup: 0, *) id=6 @198.51.100.20 (mysql-8.4.5 ndb-8.4.5, Nodegroup: 0) id=7 @198.51.100.30 (mysql-8.4.5 ndb-8.4.5, Nodegroup: 1) id=8 @198.51.100.40 (mysql-8.4.5 ndb-8.4.5, Nodegroup: 1) [ndb_mgmd(MGM)] 1 node(s) id=50 @198.51.100.150 (mysql-8.4.5 ndb-8.4.5) [mysqld(API)] 2 node(s) id=100 @198.51.100.100 (mysql-8.4.5 ndb-8.4.5) id=101 (not connected, accepting connect from any host)Вывод этой команды также указывает, когда кластер находится в режиме single user (см. описание команды
ENTER SINGLE USER MODE, а также Раздел 25.6.6, «Режим single user кластера NDB»). Он также указывает, какой API- или SQL-узел имеет эксклюзивный доступ, когда этот режим активен. -
Останавливает все узлы данных и узлы управления кластера. Для выхода из клиента управления после этого используйте
EXITилиQUIT.Эта команда не останавливает подключенные к кластеру SQL-узлы или API-узлы.
-
Включает узел данных, идентифицированный значением
node_id(или все узлы данных).ALL STARTработает только с узлами данных и не влияет на узлы управления.ВажноДля включения узла данных с помощью этой команды узел данных должен быть запущен с помощью
--nostartили-n. -
Отображает информацию о состоянии узла данных, идентифицированного значением
node_id(или всех узлов данных).Возможные значения состояния узла включают
UNKNOWN,NO_CONTACT,NOT_STARTED,STARTING,STARTED,SHUTTING_DOWNиRESTARTING.Вывод этой команды также указывает, когда кластер находится в режиме single user.
-
Останавливает узел данных или управления, идентифицированный значением
node_id.ПримечаниеALL STOPработает только для остановки всех узлов данных и не влияет на узлы управления.Узел, на который повлияла эта команда, отключается от кластера, и связанный с ним процесс ndbd или ndb_mgmd завершается.
Параметр
-aвызывает немедленное остановку узла без ожидания завершения каких-либо ожидающих транзакций.Обычно
STOPзавершается неудачей, если результатом будет неполный кластер. Параметр-fпринудительно останавливает узел без проверки этого условия. Если этот параметр используется, а результатом является неполный кластер, кластер немедленно останавливается.ПредупреждениеИспользование параметра
-aтакже отключает проверку безопасности, выполняемую при вызовеSTOPдля обеспечения того, что остановка узла не приведёт к неполному кластеру. Другими словами, необходимо проявлять крайнюю осторожность при использовании параметра-aс командойSTOP, поскольку этот параметр позволяет кластеру выполнить принудительную остановку, так как у него больше нет полной копии всех данных, хранящихся вNDB. -
Отображает информацию о TLS кластера, такую как использование TLS текущим соединением, TLS-сертификаты, в настоящее время известные узлу управления, и счётчики узла управления для общего количества подключений, подключений, обновленных до TLS, и неудач авторизации. Пример вывода показан здесь:
ndb_mgm>
TLS INFOSession ID: 1 Peer address: 127.0.0.1 Certificate name: NDB Management Node Jun 2023 Certificate serial: B5:23:8F:D1:11:85:E5:93:ED Certificate expires: 23-Nov-2023 Server statistics since restart Total accepted connections: 6 Total connections upgraded to TLS: 2 Current connections: 3 Current connections using TLS: 2 Authorization failures: 0 ndb_mgm>Для получения дополнительной информации см. Раздел 25.6.15, «Шифрование каналов TLS для кластера NDB».
Дополнительные команды. Ряд других команд, доступных в клиенте ndb_mgm, описаны в других разделах, как показано в следующем списке:
START BACKUPиспользуется для создания резервной копии в режиме online в клиенте ndb_mgm; командаABORT BACKUPиспользуется для отмены резервного копирования, уже выполняемого. Для получения дополнительной информации см. Раздел 25.6.8, «Резервное копирование кластера NDB в режиме online».Команда
CLUSTERLOGиспользуется для выполнения различных функций ведения журнала. См. Раздел 25.6.3, «Отчёты о событиях, генерируемые в кластере NDB», для получения дополнительной информации и примеров.NODELOG DEBUGактивирует или деактивирует вывод отладки в журналы узлов, как описано ранее в этом разделе.Для тестирования и диагностики клиент поддерживает команду
DUMP, которая может использоваться для выполнения внутренних команд в кластере. Она никогда не должна использоваться в рабочей среде, если только это не указано службой поддержки MySQL. Для получения дополнительной информации см. Команды DUMP клиента управления кластером NDB.
© 2025 Oracle
Licensed under the GPLv2 License.