Spec-Zone.ru › MySQL 8.4

25.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 см. в Разделе 25.4.3.9.1, «Параметры сервера MySQL для NDB Cluster». Сведения о системных переменных сервера MySQL, относящихся к NDB Cluster, см. в Разделе 25.4.3.9.2, «Системные переменные NDB Cluster».

  • Id

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

    Первоначальный перезапуск системы: Требуется полное выключение кластера, очистка и восстановление файловой системы кластера из резервной копии, а затем перезапуск кластера. (NDB 8.4.0)

    Id представляет собой целочисленное значение, используемое для идентификации узла во всех внутренних сообщениях кластера. Допустимый диапазон значений — от 1 до 255 включительно. Это значение должно быть уникальным для каждого узла в кластере, независимо от типа узла.

    Примечание

    Идентификаторы узлов данных должны быть меньше 145. Если вы планируете развернуть большое количество узлов данных, рекомендуется ограничить идентификаторы узлов для узлов API (и узлов управления) значениями, большими чем 144.

    NodeId — предпочтительное имя параметра, используемое при идентификации узлов API. (Id продолжает поддерживаться для обратной совместимости, но теперь устарел и генерирует предупреждение при использовании. Он также может быть удален в будущем.)

  • ConnectionMap

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

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

    Указывает, к каким узлам данных следует подключаться.

  • NodeId

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

    Первоначальный перезапуск системы: Требуется полное выключение кластера, очистка и восстановление файловой системы кластера из резервной копии, а затем перезапуск кластера. (NDB 8.4.0)

    NodeId представляет собой целочисленное значение, используемое для идентификации узла во всех внутренних сообщениях кластера. Допустимый диапазон значений — от 1 до 255 включительно. Это значение должно быть уникальным для каждого узла в кластере, независимо от типа узла.

    Примечание

    Идентификаторы узлов данных должны быть меньше 145. Если вы планируете развернуть большое количество узлов данных, рекомендуется ограничить идентификаторы узлов для узлов API (и узлов управления) значениями, большими чем 144.

    NodeId — предпочтительное имя параметра, используемое при идентификации узлов управления. Псевдоним Id использовался для этой цели в очень старых версиях NDB Cluster и продолжает поддерживаться для обратной совместимости; теперь он устарел и генерирует предупреждение при использовании, и может быть удален в будущих выпусках NDB Cluster.

  • ExecuteOnComputer

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

    Перезапуск системы: Требуется полное выключение и перезапуск кластера. (NDB 8.4.0)

    Это относится к Id, установленному для одного из компьютеров (хостов), определенных в разделе [computer] конфигурационного файла.

    Важно

    Этот параметр устарел и может быть удален в будущих выпусках. Используйте вместо него параметр HostName.

  • Идентификатор узла для этого узла может быть предоставлен только соединениям, которые явно запрашивают его. Сервер управления, запрашивающий идентификатор узла “любой”, не может использовать этот. Этот параметр можно использовать при запуске нескольких серверов управления на одном хосте, и HostName недостаточно для различения процессов.

  • HostName

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

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

    Указание этого параметра определяет имя хоста компьютера, на котором должен находиться узел SQL (узел API). Используйте HostName для указания имени хоста, отличного от localhost.

    Если HostName не указан в данном разделе [mysql] или [api] файла config.ini, то узел SQL или API может подключаться, используя соответствующий “слот” с любого хоста, который может установить сетевое соединение с хост-машиной сервера управления. Это отличается от поведения по умолчанию для узлов данных, где localhost предполагается для HostName, если не указано иное.

  • LocationDomainId

    Версия (или более поздняя) NDB 8.4.0
    Тип или единицы integer
    Значение по умолчанию 0
    Диапазон 0 - 16
    Тип перезапуска

    Перезапуск системы: Требуется полное выключение и перезапуск кластера. (NDB 8.4.0)

    Назначает узел SQL или другой узел API определенному домену доступности (также известному как зона доступности) в облаке. Информируя NDB о том, какие узлы находятся в каких доменах доступности, производительность может быть улучшена в облачной среде следующим образом:

    • Если запрашиваемые данные не найдены на том же узле, чтение может быть направлено на другой узел в том же домене доступности.

    • Гарантируется, что связь между узлами в разных доменах доступности будет использовать поддержку WAN-транспортеров NDB без какого-либо дополнительного ручного вмешательства.

    • Номер группы транспортера может основываться на используемом домене доступности, так что узлы SQL и другие узлы API также взаимодействуют с локальными узлами данных в том же домене доступности, когда это возможно.

    • Арбитр может быть выбран из домена доступности, в котором отсутствуют узлы данных, или, если такой домен доступности не может быть найден, из третьего домена доступности.

    LocationDomainId принимает целочисленное значение от 0 до 16 включительно, при этом 0 является значением по умолчанию; использование 0 эквивалентно тому, чтобы параметр оставался не заданным.

  • ArbitrationRank

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

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

    Этот параметр определяет, какие узлы могут выступать в качестве арбитров. Узлы управления и узлы SQL могут быть арбитрами. Значение 0 означает, что данный узел никогда не используется в качестве арбитра, значение 1 присваивает узлу высокий приоритет в качестве арбитра, а значение 2 — низкий приоритет. В обычной конфигурации сервер управления используется в качестве арбитра, устанавливая его ArbitrationRank в 1 (значение по умолчанию для узлов управления), а для всех узлов SQL — в 0 (значение по умолчанию для узлов SQL).

    Установив ArbitrationRank в 0 для всех узлов управления и SQL, вы можете полностью отключить арбитраж. Вы также можете управлять арбитражем, переопределив этот параметр; для этого установите параметр Arbitration в разделе [ndbd default] глобального конфигурационного файла config.ini.

  • ArbitrationDelay

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

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

    Установка этого параметра в любое значение, отличное от 0 (значение по умолчанию), означает, что ответы арбитра на запросы арбитража будут отложены на указанное количество миллисекунд. Обычно изменять это значение не требуется.

  • BatchByteSize

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

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

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

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

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

  • BatchSize

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

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

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

  • ExtraSendBufferMemory

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

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

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

  • HeartbeatThreadPriority

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

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

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

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

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

  • MaxScanBatchSize

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

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

    Размер пакета — это размер каждого пакета, отправляемого с каждого узла данных. Большинство сканирований выполняется параллельно, чтобы защитить сервер MySQL от получения слишком большого объема данных от многих узлов параллельно; этот параметр устанавливает ограничение на общий размер пакета для всех узлов.

    Значение этого параметра по умолчанию установлено в 256 КБ. Его максимальный размер — 16 МБ.

  • TotalSendBufferMemory

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

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

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

    Если этот параметр установлен, его минимально допустимое значение составляет 256 КБ; 0 указывает на то, что параметр не установлен. Для получения более подробной информации см. Раздел 25.4.3.14, «Настройка параметров буфера отправки кластера NDB».

  • AutoReconnect

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

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

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

    Примечание

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

  • DefaultOperationRedoProblemAction

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

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

    Этот параметр (наряду с RedoOverCommitLimit и RedoOverCommitCounter) управляет обработкой узлом данных операций, когда на запись журналов redo в диск тратится слишком много времени. Это происходит, когда запись журнала redo занимает больше, чем RedoOverCommitLimit секунд, более RedoOverCommitCounter раз, что приводит к прерыванию всех ожидающих транзакций.

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

    • ABORT: Любые ожидающие операции из прерванных транзакций также прерываются.

    • QUEUE: Ожидающие операции из прерванных транзакций помещаются в очередь для повторной попытки. Это значение используется по умолчанию. Ожидающие операции по-прежнему прерываются, когда в журнале redo заканчивается место — то есть, когда возникают ошибки P_TAIL_PROBLEM.

  • DefaultHashMapSize

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

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

    Размер табличных хэш-карт, используемых NDB, можно настроить с помощью этого параметра. DefaultHashMapSize может принимать одно из трех возможных значений (0, 240, 3840). Эти значения и их влияние описаны в следующей таблице.

    Таблица 25.16 Значения параметра DefaultHashMapSize

    Таблица 25.16 Значения параметра DefaultHashMapSize
    Значение Описание / Эффект
    0 Используется наименьшее установленное значение этого параметра среди всех узлов данных и узлов API в кластере; если он не установлен ни на одном узле данных или API, используется значение по умолчанию.
    240 Старый размер хэш-карты по умолчанию
    3840 Размер хэш-карты, используемый по умолчанию в NDB 8.4

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

  • Wan

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

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

    Использовать настройку WAN TCP по умолчанию.

  • ConnectBackoffMaxTime

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

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

    В кластере NDB с множеством незапущенных узлов данных значение этого параметра может быть увеличено, чтобы избежать попыток подключения к узлам данных, которые еще не начали функционировать в кластере, а также снизить высокую нагрузку на узлы управления. Пока узел API не подключен ни к каким новым узлам данных, применяется значение параметра StartConnectBackoffMaxTime; в противном случае, ConnectBackoffMaxTime используется для определения длительности ожидания в миллисекундах между попытками подключения.

    Время, прошедшее во время попыток подключения узла, не учитывается при вычислении прошедшего времени для этого параметра. Время ожидания применяется с разрешением приблизительно 100 мс, начиная с задержки 100 мс; для каждой последующей попытки длительность этого периода удваивается, пока не достигнет ConnectBackoffMaxTime миллисекунд, максимум до 100000 мс (100 с).

    После того как узел API подключился к узлу данных и этот узел сообщает (в сообщении о сердцебиении), что он подключился к другим узлам данных, попытки подключения к этим узлам данных больше не влияют на этот параметр, и они выполняются каждые 100 мс до тех пор, пока не будет установлено соединение. После запуска узла данных может потребоваться до HeartbeatIntervalDbApi для уведомления узла API о том, что это произошло.

  • StartConnectBackoffMaxTime

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

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

    В кластере NDB с множеством незапущенных узлов данных значение этого параметра может быть увеличено, чтобы избежать попыток подключения к узлам данных, которые еще не начали функционировать в кластере, а также снизить высокую нагрузку на узлы управления. Пока узел API не подключен ни к каким новым узлам данных, применяется значение параметра StartConnectBackoffMaxTime; в противном случае, ConnectBackoffMaxTime используется для определения длительности ожидания в миллисекундах между попытками подключения.

    Время, прошедшее во время попыток подключения узла, не учитывается при вычислении прошедшего времени для этого параметра. Время ожидания применяется с разрешением приблизительно 100 мс, начиная с задержки 100 мс; для каждой последующей попытки длительность этого периода удваивается, пока не достигнет StartConnectBackoffMaxTime миллисекунд, максимум до 100000 мс (100 с).

    После того как узел API подключился к узлу данных и этот узел сообщает (в сообщении о сердцебиении), что он подключился к другим узлам данных, попытки подключения к этим узлам данных больше не влияют на этот параметр, и они выполняются каждые 100 мс до тех пор, пока не будет установлено соединение. После запуска узла данных может потребоваться до HeartbeatIntervalDbApi для уведомления узла API о том, что это произошло.

Параметры отладки узла API. Вы можете использовать параметр конфигурации ApiVerbose для включения вывода отладочной информации с заданного узла API. Этот параметр принимает целое значение. 0 является значением по умолчанию и отключает такую отладку; 1 включает вывод отладочной информации в журнал кластера; 2 добавляет DBDICT вывод отладочной информации. (Ошибка #20638450) См. также DUMP 1229.

Вы также можете получить информацию с сервера MySQL, работающего как SQL-узел кластера NDB, используя 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)

Для получения информации о переменных состояния, отображаемых в выводе этой инструкции, см. Раздел 25.4.3.9.3, «Переменные состояния кластера NDB».

Примечание

Для добавления новых узлов SQL или API в конфигурацию работающего NDB-кластера необходимо выполнить плавную перезагрузку всех узлов кластера после добавления новых разделов [mysqld] или [api] в файл config.ini (или файлы, если вы используете более одного сервера управления). Это необходимо сделать, прежде чем новые узлы SQL или API смогут подключиться к кластеру.

Не нужно выполнять перезагрузку кластера, если новые узлы SQL или API могут использовать ранее неиспользуемые слоты API в конфигурации кластера для подключения к кластеру.

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

Таблица 25.17 Типы перезагрузки NDB-кластера

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

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

Spec-Zone.ru

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