21.4.3.7 Определение узлов SQL и API в кластере NDB
Разделы [mysqld] и [api] в файле config.ini определяют поведение серверов MySQL (узлов SQL) и других приложений (узлов API), используемых для доступа к данным кластера. Ни один из указанных параметров не является обязательным. Если не указано имя компьютера или хоста, этот узел SQL или API может быть использован любым хостом.
В общем случае, раздел [mysqld] используется для обозначения сервера MySQL, предоставляющего SQL-интерфейс к кластеру, а раздел [api] — для приложений, отличных от процесса mysqld, которые обращаются к данным кластера, но эти обозначения являются синонимами; например, вы можете указать параметры сервера MySQL, работающего в качестве узла SQL, в разделе [api].
Обсуждение параметров сервера MySQL для NDB Cluster см. в разделе 21.4.3.9.1, «Параметры сервера MySQL для NDB Cluster». Информацию о системных переменных сервера MySQL, относящихся к NDB Cluster, см. в разделе 21.4.3.9.2, «Системные переменные NDB Cluster».
-
IdВерсия (или более поздняя) NDB 7.5.0 Тип или единицы unsigned Значение по умолчанию [...] Диапазон 1 - 255 Тип перезапуска Первоначальный перезапуск системы: Требуется полное выключение кластера, очистка и восстановление файловой системы кластера из резервной копии, а затем перезапуск кластера. (NDB 7.5.0)
Idпредставляет собой целочисленное значение, используемое для идентификации узла во всех внутренних сообщениях кластера. Допустимый диапазон значений — от 1 до 255 включительно. Это значение должно быть уникальным для каждого узла в кластере, независимо от типа узла.ПримечаниеИдентификаторы узлов данных должны быть меньше 49, независимо от используемой версии кластера NDB. Если вы планируете развернуть большое количество узлов данных, рекомендуется ограничить идентификаторы узлов для узлов API (и узлов управления) значениями больше 48.
NodeId— это предпочтительное имя параметра, которое следует использовать при идентификации узлов API. (Idпродолжает поддерживаться для обратной совместимости, но теперь устарел и генерирует предупреждение при использовании. Он также может быть удален в будущем.) -
ConnectionMapВерсия (или более поздняя) NDB 7.5.0 Тип или единицы string Значение по умолчанию [...] Диапазон ... Тип перезапуска Перезапуск узла: Требуется поэтапный перезапуск кластера. (NDB 7.5.0)
Указывает, к каким узлам данных необходимо подключаться.
-
NodeIdВерсия (или более поздняя) NDB 7.5.0 Тип или единицы unsigned Значение по умолчанию [...] Диапазон 1 - 255 Тип перезапуска Первоначальный перезапуск системы: Требуется полное выключение кластера, очистка и восстановление файловой системы кластера из резервной копии, а затем перезапуск кластера. (NDB 7.5.0)
NodeIdпредставляет собой целочисленное значение, используемое для идентификации узла во всех внутренних сообщениях кластера. Допустимый диапазон значений — от 1 до 255 включительно. Это значение должно быть уникальным для каждого узла в кластере, независимо от типа узла.ПримечаниеИдентификаторы узлов данных должны быть меньше 49, независимо от используемой версии кластера NDB. Если вы планируете развернуть большое количество узлов данных, рекомендуется ограничить идентификаторы узлов для узлов API (и узлов управления) значениями больше 48.
NodeId— это предпочтительное имя параметра, которое следует использовать при идентификации узлов управления. ПсевдонимIdиспользовался для этой цели в очень старых версиях NDB Cluster и продолжает поддерживаться для обратной совместимости; теперь он устарел и генерирует предупреждение при использовании, и будет удален в будущей версии NDB Cluster. -
ExecuteOnComputerВерсия (или более поздняя) NDB 7.5.0 Тип или единицы name Значение по умолчанию [...] Диапазон ... Устарел NDB 7.5.0 Тип перезапуска Перезапуск системы: Требуется полное выключение и перезапуск кластера. (NDB 7.5.0)
Это относится к
Id, установленному для одного из компьютеров (хостов), определенных в разделе[computer]файла конфигурации.ВажноЭтот параметр устарел, начиная с NDB 7.5.0, и будет удален в будущей версии. Используйте вместо него параметр
HostName. -
HostNameВерсия (или более поздняя) NDB 7.5.0 Тип или единицы name or IP address Значение по умолчанию [...] Диапазон ... Тип перезапуска Перезапуск узла: Требуется поэтапный перезапуск кластера. (NDB 7.5.0)
Указание этого параметра определяет имя хоста компьютера, на котором должен находиться узел SQL (узел API).
Если
HostNameне указан в данном разделе[mysql]или[api]файлаconfig.ini, то узел SQL или API может подключаться, используя соответствующий “слот” с любого хоста, который может установить сетевое соединение с хост-машиной сервера управления. Это отличается от поведения по умолчанию для узлов данных, гдеlocalhostпредполагается дляHostName, если не указано иное. -
Версия (или более поздняя) NDB 7.6.4 Тип или единицы integer Значение по умолчанию 0 Диапазон 0 - 16 Добавлен NDB 7.6.4 Тип перезапуска Перезапуск системы: Требуется полное выключение и перезапуск кластера. (NDB 7.5.0)
Назначает узел SQL или другой узел API определенному домену доступности (также известному как зона доступности) в облаке. Информируя
NDBо том, какие узлы находятся в каких доменах доступности, производительность может быть улучшена в облачной среде следующим образом:Если запрашиваемые данные не найдены на том же узле, чтение может быть перенаправлено на другой узел в том же домене доступности.
Гарантируется, что связь между узлами в разных доменах доступности будет использовать поддержку WAN-транспортеров
NDBбез каких-либо дополнительных ручных вмешательств.Номер группы транспортера может основываться на используемом домене доступности, так что узлы SQL и другие узлы API также взаимодействуют с локальными узлами данных в том же домене доступности, когда это возможно.
Арбитр может быть выбран из домена доступности, в котором отсутствуют узлы данных, или, если такой домен доступности не может быть найден, из третьего домена доступности.
LocationDomainIdпринимает целочисленное значение от 0 до 16 включительно, при этом 0 является значением по умолчанию; использование 0 эквивалентно тому, чтобы оставить параметр не установленным. -
ArbitrationRankВерсия (или более поздняя) NDB 7.5.0 Тип или единицы 0-2 Значение по умолчанию 0 Диапазон 0 - 2 Тип перезапуска Перезапуск узла: Требуется поэтапный перезапуск кластера. (NDB 7.5.0)
Этот параметр определяет, какие узлы могут выступать в качестве арбитров. Арбитрами могут быть как узлы управления, так и узлы SQL. Значение 0 означает, что данный узел никогда не используется в качестве арбитра, значение 1 присваивает узлу высокий приоритет в качестве арбитра, а значение 2 — низкий приоритет. В обычной конфигурации сервер управления используется в качестве арбитра, устанавливая его
ArbitrationRankв 1 (по умолчанию для узлов управления), а для всех узлов SQL — в 0 (по умолчанию для узлов SQL).Установив
ArbitrationRankв 0 для всех узлов управления и SQL, вы можете полностью отключить арбитраж. Вы также можете управлять арбитражем, переопределив этот параметр; для этого установите параметрArbitrationв разделе[ndbd default]глобального файла конфигурацииconfig.ini.
-
ArbitrationDelayВерсия (или более поздняя) NDB 7.5.0 Тип или единицы миллисекунды Значение по умолчанию 0 Диапазон 0 - 4294967039 (0xFFFFFEFF) Тип перезапуска Перезапуск узла: Требуется поэтапный перезапуск кластера. (NDB 7.5.0)
Установка этого параметра в любое значение, отличное от 0 (значение по умолчанию), означает, что ответы арбитра на запросы арбитража будут задержаны на указанное количество миллисекунд. Обычно нет необходимости изменять это значение.
-
Версия (или более поздняя) NDB 7.5.0 Тип или единицы байты Значение по умолчанию 16K Диапазон 1K - 1M Тип перезапуска Перезапуск узла: Требуется поэтапный перезапуск кластера. (NDB 7.5.0)
Для запросов, которые преобразуются в полное сканирование таблиц или сканирование диапазонов по индексам, для достижения наилучшей производительности важно извлекать записи пакетами правильного размера. Можно установить правильный размер как по количеству записей (
BatchSize), так и в байтах (BatchByteSize). Фактический размер пакета ограничен обоими параметрами.Скорость выполнения запросов может варьироваться более чем на 40% в зависимости от того, как установлен этот параметр.
Этот параметр измеряется в байтах. Значение по умолчанию — 16K.
-
Версия (или более поздняя) NDB 7.5.0 Тип или единицы записи Значение по умолчанию 256 Диапазон 1 - 992 Тип перезапуска Перезапуск узла: Требуется поэтапный перезапуск кластера. (NDB 7.5.0)
Этот параметр измеряется в количестве записей и по умолчанию установлен в 256. Максимальный размер — 992.
-
Версия (или более поздняя) NDB 7.5.0 Тип или единицы байты Значение по умолчанию 0 Диапазон 0 - 4294967039 (0xFFFFFEFF) Тип перезапуска Перезапуск узла: Требуется поэтапный перезапуск кластера. (NDB 7.5.0)
Этот параметр указывает объем памяти буфера отправки транспортера, который необходимо выделить в дополнение к любому объему, установленному с помощью
TotalSendBufferMemory,SendBufferMemoryили обоих. -
Версия (или более поздняя) NDB 7.5.0 Тип или единицы строка Значение по умолчанию [...] Диапазон ... Тип перезапуска Перезапуск узла: Требуется поэтапный перезапуск кластера. (NDB 7.5.0)
Используйте этот параметр для установки политики планирования и приоритета потоков пульсации для узлов управления и API. Синтаксис установки этого параметра показан здесь:
HeartbeatThreadPriority =
policy[,priority]policy: {FIFO | RR}При установке этого параметра необходимо указать политику. Это одна из
FIFO(первым пришел — первым обслужен) илиRR(круговая очередь). За ней необязательно следует приоритет (целое число). -
Версия (или более поздняя) NDB 7.5.0 Тип или единицы байты Значение по умолчанию 256K Диапазон 32K - 16M Тип перезапуска Перезапуск узла: Требуется поэтапный перезапуск кластера. (NDB 7.5.0)
Размер пакета — это размер каждого пакета, отправляемого с каждого узла данных. Большинство сканирований выполняются параллельно, чтобы защитить сервер MySQL от получения слишком большого количества данных от многих узлов параллельно; этот параметр устанавливает ограничение на общий размер пакета для всех узлов.
Значение этого параметра по умолчанию установлено в 256 КБ. Его максимальный размер — 16 МБ.
-
TotalSendBufferMemoryВерсия (или более поздняя) NDB 7.5.0 Тип или единицы байты Значение по умолчанию 0 Диапазон 256K - 4294967039 (0xFFFFFEFF) Тип перезапуска Перезапуск узла: Требуется поэтапный перезапуск кластера. (NDB 7.5.0)
Этот параметр используется для определения общего объема памяти, который необходимо выделить на этом узле для общей памяти буфера отправки для всех настроенных транспортеров.
Если этот параметр установлен, его минимальное допустимое значение составляет 256 КБ; 0 указывает на то, что параметр не установлен. Более подробная информация приведена в разделе 21.4.3.13, «Настройка параметров буфера отправки кластера NDB».
-
Версия (или более поздняя) NDB 7.5.0 Тип или единицы булево Значение по умолчанию false Диапазон true, false Тип перезапуска Перезапуск узла: Требуется поэтапный перезапуск кластера. (NDB 7.5.0)
Этот параметр по умолчанию
false. Это заставляет отключенные узлы API (включая серверы MySQL, выступающие в качестве узлов SQL) использовать новое соединение с кластером, а не пытаться повторно использовать существующее, поскольку повторное использование соединений может вызывать проблемы при использовании динамически распределяемых идентификаторов узлов. (Ошибка #45921)ПримечаниеЭтот параметр может быть переопределен с помощью API NDB. Для получения дополнительной информации см., и .
-
DefaultOperationRedoProblemActionVersion (or later) NDB 7.5.0 Type or units enumeration Default QUEUE Range ABORT, QUEUE Restart Type Node Restart: Requires a rolling restart of the cluster. (NDB 7.5.0)
This parameter (along with
RedoOverCommitLimitandRedoOverCommitCounter) controls the data node's handling of operations when too much time is taken flushing redo logs to disk. This occurs when a given redo log flush takes longer thanRedoOverCommitLimitseconds, more thanRedoOverCommitCountertimes, causing any pending transactions to be aborted.When this happens, the node can respond in either of two ways, according to the value of
DefaultOperationRedoProblemAction, listed here:ABORT: Any pending operations from aborted transactions are also aborted.QUEUE: Pending operations from transactions that were aborted are queued up to be re-tried. This is the default. Pending operations are still aborted when the redo log runs out of space—that is, when P_TAIL_PROBLEM errors occur.
-
Version (or later) NDB 7.5.0 Type or units buckets Default 3840 Range 0 - 3840 Restart Type Node Restart: Requires a rolling restart of the cluster. (NDB 7.5.0)
The size of the table hash maps used by
NDBis configurable using this parameter.DefaultHashMapSizecan take any of three possible values (0, 240, 3840).The original intended use for this parameter was to facilitate upgrades and especially downgrades to and from very old releases with differing default hash map sizes. This is not an issue when upgrading from NDB Cluster 7.3 (or later) to later versions.
Decreasing this parameter online after any tables have been created or modified with
DefaultHashMapSizeequal to 3840 is not currently supported. -
Version (or later) NDB 7.5.0 Type or units boolean Default false Range true, false Restart Type Node Restart: Requires a rolling restart of the cluster. (NDB 7.5.0)
Use WAN TCP setting as default.
-
Version (or later) NDB 7.5.0 Type or units integer Default 0 Range 0 - 4294967039 (0xFFFFFEFF) Restart Type Node Restart: Requires a rolling restart of the cluster. (NDB 7.5.0)
В NDB Cluster с множеством незапущенных узлов данных значение этого параметра можно увеличить для обхода попыток подключения к узлам данных, которые ещё не начали работу в кластере, а также для снижения высокой нагрузки на управляющие узлы. До тех пор, пока узел API не подключён к новым узлам данных, применяется значение параметра
StartConnectBackoffMaxTime; в противном случае,ConnectBackoffMaxTimeиспользуется для определения длительности ожидания между попытками подключения в миллисекундах.Время, затраченное во время попыток подключения к узлам, не учитывается при расчете затраченного времени для этого параметра. Таймаут применяется с приблизительным разрешением 100 мс, начиная с задержки в 100 мс; при каждой последующей попытке продолжительность этого периода удваивается до достижения
ConnectBackoffMaxTimeмиллисекунд, до максимального значения 100000 мс (100 с).После того, как узел API подключится к узлу данных и этот узел сообщит (в сообщении о состоянии) о подключении к другим узлам данных, попытки подключения к этим узлам данных больше не будут затронуты этим параметром и будут выполняться каждые 100 мс до подключения. После запуска узла данных может потребоваться
HeartbeatIntervalDbApiвремени, чтобы узел API получил уведомление об этом. -
Version (or later) NDB 7.5.0 Type or units integer Default 0 Range 0 - 4294967039 (0xFFFFFEFF) Restart Type Node Restart: Requires a rolling restart of the cluster. (NDB 7.5.0)
В NDB Cluster с множеством незапущенных узлов данных значение этого параметра можно увеличить для обхода попыток подключения к узлам данных, которые ещё не начали работу в кластере, а также для снижения высокой нагрузки на управляющие узлы. До тех пор, пока узел API не подключён к новым узлам данных, используется значение параметра
StartConnectBackoffMaxTime; в противном случае,ConnectBackoffMaxTimeиспользуется для определения длительности ожидания между попытками подключения в миллисекундах.Время, затраченное во время попыток подключения к узлам, не учитывается при расчете затраченного времени для этого параметра. Таймаут применяется с приблизительным разрешением 100 мс, начиная с задержки в 100 мс; при каждой последующей попытке продолжительность этого периода удваивается до достижения
StartConnectBackoffMaxTimeмиллисекунд, до максимального значения 100000 мс (100 с).После того, как узел API подключится к узлу данных и этот узел сообщит (в сообщении о состоянии) о подключении к другим узлам данных, попытки подключения к этим узлам данных больше не будут затронуты этим параметром и будут выполняться каждые 100 мс до подключения. После запуска узла данных может потребоваться
HeartbeatIntervalDbApiвремени, чтобы узел API получил уведомление об этом.
Параметры отладки узла API. Вы можете использовать параметр конфигурации ApiVerbose для включения вывода отладки от данного узла API. Этот параметр принимает целочисленное значение. 0 — значение по умолчанию, которое отключает такую отладку; 1 включает вывод отладки в журнал кластера; 2 добавляет вывод отладки DBDICT также. (Ошибка #20638450) См. также DUMP 1229.
Также вы можете получить информацию от сервера MySQL, работающего как узел NDB Cluster SQL, с помощью SHOW
STATUS в клиенте mysql, как показано здесь:
mysql> SHOW STATUS LIKE 'ndb%';
+-----------------------------+----------------+
| Variable_name | Value |
+-----------------------------+----------------+
| Ndb_cluster_node_id | 5 |
| Ndb_config_from_host | 198.51.100.112 |
| Ndb_config_from_port | 1186 |
| Ndb_number_of_storage_nodes | 4 |
+-----------------------------+----------------+
4 rows in set (0.02 sec)
Для получения информации о переменных состояния, отображаемых в выводе этой команды, см. Раздел 21.4.3.9.3, «Переменные состояния NDB кластера».
Для добавления новых узлов SQL или API в конфигурацию работающего NDB Cluster необходимо выполнить rolling restart всех узлов кластера после добавления новых разделов [mysqld] или [api] в файл config.ini (или файлы, если вы используете более одного сервера управления). Это необходимо сделать до того, как новые узлы SQL или API смогут подключиться к кластеру.
Выполнять перезапуск кластера не нужно, если новые узлы SQL или API могут использовать ранее неиспользуемые слоты API в конфигурации кластера для подключения к кластеру.
Типы перезапуска. Информация о типах перезапуска, используемых в описаниях параметров в этом разделе, представлена в следующей таблице:
Таблица 21.16 Типы перезапуска NDB кластера
| Символ | Тип перезапуска | Описание |
|---|---|---|
| N | Узел | Параметр может быть обновлен с использованием поэтапного перезапуска (см. Раздел 21.6.5, «Выполнение поэтапного перезапуска NDB кластера») |
| S | Система | Для изменения этого параметра необходимо полностью остановить все узлы кластера, а затем перезапустить их. |
| I | Инициализация | Узлы данных необходимо перезапустить с использованием опции --initial |
© 2025 Oracle
Licensed under the GPLv2 License.