Spec-Zone.ru › MySQL 5.7

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, если не указано иное.

  • LocationDomainId

    Версия (или более поздняя) 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 (значение по умолчанию), означает, что ответы арбитра на запросы арбитража будут задержаны на указанное количество миллисекунд. Обычно нет необходимости изменять это значение.

  • BatchByteSize

    Версия (или более поздняя) NDB 7.5.0
    Тип или единицы байты
    Значение по умолчанию 16K
    Диапазон 1K - 1M
    Тип перезапуска

    Перезапуск узла: Требуется поэтапный перезапуск кластера. (NDB 7.5.0)

    Для запросов, которые преобразуются в полное сканирование таблиц или сканирование диапазонов по индексам, для достижения наилучшей производительности важно извлекать записи пакетами правильного размера. Можно установить правильный размер как по количеству записей (BatchSize), так и в байтах (BatchByteSize). Фактический размер пакета ограничен обоими параметрами.

    Скорость выполнения запросов может варьироваться более чем на 40% в зависимости от того, как установлен этот параметр.

    Этот параметр измеряется в байтах. Значение по умолчанию — 16K.

  • BatchSize

    Версия (или более поздняя) NDB 7.5.0
    Тип или единицы записи
    Значение по умолчанию 256
    Диапазон 1 - 992
    Тип перезапуска

    Перезапуск узла: Требуется поэтапный перезапуск кластера. (NDB 7.5.0)

    Этот параметр измеряется в количестве записей и по умолчанию установлен в 256. Максимальный размер — 992.

  • ExtraSendBufferMemory

    Версия (или более поздняя) NDB 7.5.0
    Тип или единицы байты
    Значение по умолчанию 0
    Диапазон 0 - 4294967039 (0xFFFFFEFF)
    Тип перезапуска

    Перезапуск узла: Требуется поэтапный перезапуск кластера. (NDB 7.5.0)

    Этот параметр указывает объем памяти буфера отправки транспортера, который необходимо выделить в дополнение к любому объему, установленному с помощью TotalSendBufferMemory, SendBufferMemory или обоих.

  • HeartbeatThreadPriority

    Версия (или более поздняя) NDB 7.5.0
    Тип или единицы строка
    Значение по умолчанию [...]
    Диапазон ...
    Тип перезапуска

    Перезапуск узла: Требуется поэтапный перезапуск кластера. (NDB 7.5.0)

    Используйте этот параметр для установки политики планирования и приоритета потоков пульсации для узлов управления и API. Синтаксис установки этого параметра показан здесь:

    HeartbeatThreadPriority = policy[, priority]
    
    policy:
      {FIFO | RR}
    

    При установке этого параметра необходимо указать политику. Это одна из FIFO (первым пришел — первым обслужен) или RR (круговая очередь). За ней необязательно следует приоритет (целое число).

  • MaxScanBatchSize

    Версия (или более поздняя) 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».

  • AutoReconnect

    Версия (или более поздняя) NDB 7.5.0
    Тип или единицы булево
    Значение по умолчанию false
    Диапазон true, false
    Тип перезапуска

    Перезапуск узла: Требуется поэтапный перезапуск кластера. (NDB 7.5.0)

    Этот параметр по умолчанию false. Это заставляет отключенные узлы API (включая серверы MySQL, выступающие в качестве узлов SQL) использовать новое соединение с кластером, а не пытаться повторно использовать существующее, поскольку повторное использование соединений может вызывать проблемы при использовании динамически распределяемых идентификаторов узлов. (Ошибка #45921)

    Примечание

    Этот параметр может быть переопределен с помощью API NDB. Для получения дополнительной информации см., и .

  • DefaultOperationRedoProblemAction

    Version (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 RedoOverCommitLimit and RedoOverCommitCounter) 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 than RedoOverCommitLimit seconds, more than RedoOverCommitCounter times, 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.

  • DefaultHashMapSize

    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 NDB is configurable using this parameter. DefaultHashMapSize can 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 DefaultHashMapSize equal to 3840 is not currently supported.

  • Wan

    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.

  • ConnectBackoffMaxTime

    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 получил уведомление об этом.

  • StartConnectBackoffMaxTime

    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 кластера

Таблица 21.16 Типы перезапуска NDB кластера
Символ Тип перезапуска Описание
N Узел Параметр может быть обновлен с использованием поэтапного перезапуска (см. Раздел 21.6.5, «Выполнение поэтапного перезапуска NDB кластера»)
S Система Для изменения этого параметра необходимо полностью остановить все узлы кластера, а затем перезапустить их.
I Инициализация Узлы данных необходимо перезапустить с использованием опции --initial

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

Spec-Zone.ru

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