Spec-Zone.ru › MySQL 9.2

25.5.3 ndbmtd — Демон узла данных кластера NDB (многопоточный)

ndbmtd — это многопоточная версия ndbd, процесса, который используется для обработки всех данных в таблицах с использованием NDBCLUSTER движка хранения. ndbmtd предназначен для использования на компьютерах-хостах с несколькими ядрами процессора. За исключением случаев, когда указано иное, ndbmtd работает так же, как и ndbd; поэтому в этом разделе мы сосредоточимся на способах, которыми ndbmtd отличается от ndbd, а для получения дополнительной информации о запуске узлов данных кластера NDB, которая применима как к однопоточной, так и к многопоточной версиям процесса узла данных, см. Раздел 25.5.1, «ndbd — Демон узла данных кластера NDB».

Командные параметры и параметры конфигурации, используемые с ndbd, также применяются к ndbmtd. Дополнительную информацию об этих параметрах см. в разделе 25.5.1, «ndbd — Демон узла данных кластера NDB» и разделе 25.4.3.6, «Определение узлов данных кластера NDB» соответственно.

ndbmtd также совместим с файловой системой с ndbd. Другими словами, узел данных, работающий с ndbd, может быть остановлен, бинарный файл может быть заменён на ndbmtd, а затем перезапущен без потери данных. (Однако при выполнении этой операции необходимо убедиться, что MaxNoOfExecutionThreads имеет соответствующее значение перед перезапуском узла, если вы хотите запустить ndbmtd в многопоточном режиме.) Аналогично, бинарный файл ndbmtd может быть заменён на ndbd просто путём остановки узла и последующего запуска ndbd вместо многопоточного бинарного файла. При переключении между ними не требуется запускать бинарный файл узла данных с помощью --initial.

Использование ndbmtd отличается от использования ndbd в двух ключевых аспектах:

  1. Поскольку ndbmtd по умолчанию выполняется в однопоточном режиме (то есть, ведёт себя как ndbd), необходимо настроить его на использование нескольких потоков. Это можно сделать, установив соответствующее значение в файле config.ini для параметра конфигурации MaxNoOfExecutionThreads или параметра конфигурации ThreadConfig. Использование MaxNoOfExecutionThreads проще, но ThreadConfig предоставляет больше гибкости. Дополнительную информацию об этих параметрах конфигурации и их использовании см. в Параметрах конфигурации многопоточности (ndbmtd).

  2. Файлы трассировки генерируются критическими ошибками в процессах ndbmtd несколько иначе, чем ошибки ndbd. Эти различия более подробно обсуждаются в следующих абзацах.

Как и ndbd, ndbmtd генерирует набор файлов журналов, которые помещаются в каталог, указанный в DataDir в файле конфигурации config.ini. За исключением файлов трассировки, они генерируются таким же образом и имеют такие же имена, как и файлы, генерируемые ndbd.

В случае критической ошибки ndbmtd генерирует файлы трассировки, описывающие события, произошедшие непосредственно перед возникновением ошибки. Эти файлы, которые можно найти в каталоге данных узла DataDir, полезны для анализа проблем командами разработки и поддержки кластера NDB. Один файл трассировки генерируется для каждого потока ndbmtd. Имена этих файлов имеют следующий шаблон:

ndb_node_id_trace.log.trace_id_tthread_id,

В этом шаблоне node_id обозначает уникальный идентификатор узла данных в кластере, trace_id — порядковый номер последовательности трассировки, а thread_id — идентификатор потока. Например, в случае сбоя процесса ndbmtd, работающего как узел данных кластера NDB с идентификатором узла 3 и MaxNoOfExecutionThreads равным 4, генерируются четыре файла трассировки в каталоге данных узла. Если это первый сбой этого узла, то эти файлы называются ndb_3_trace.log.1_t1, ndb_3_trace.log.1_t2, ndb_3_trace.log.1_t3 и ndb_3_trace.log.1_t4. Внутренне эти файлы трассировки следуют тому же формату, что и файлы трассировки ndbd.

Коды завершения и сообщения ndbd, которые генерируются при преждевременном завершении работы процесса узла данных, также используются ndbmtd. См. Сообщения об ошибках узла данных для получения списка этих сообщений.

Примечание

Можно одновременно использовать ndbd и ndbmtd на разных узлах данных в одном кластере NDB. Однако такие конфигурации не были достаточно протестированы, поэтому в настоящее время мы не рекомендуем использовать их в рабочей среде.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/mysql-cluster-programs-ndbmtd.html

Spec-Zone.ru

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