Spec-Zone .ru
спецификации, руководства, описания, API

17.4.3. ndbmtd — (Многопоточный) MySQL Cluster Data Node Daemon

ndbmtd является многопоточной версией ndbd, процесс, который используется, чтобы обработать все данные в таблицах, используя NDBCLUSTER механизм хранения. ndbmtd предназначается для использования на главных компьютерах, имеющих многократные ядра ЦП. Кроме где иначе отмечено, ndbmtd функционирует таким же образом как ndbd; поэтому, в этом разделе, мы концентрируемся на путях, которыми ndbmtd отличается от ndbd, и следует консультироваться с Разделом 17.4.1, "ndbd — MySQL Cluster Data Node Daemon" , для дополнительной информации о рабочих узлах данных MySQL Cluster, которые применяются к и однопоточным и многопоточным версиям процесса узла данных.

Параметры командной строки и параметры конфигурации, используемые с ndbd также, применяются к ndbmtd. Для получения дополнительной информации об этих опциях и параметрах, см. Раздел 17.4.1, "ndbd — MySQL Cluster Data Node Daemon", и Раздел 17.3.2.6, "Узлы данных Кластера MySQL Defining", соответственно.

ndbmtd является также совместимым с файловой системой с ndbd. Другими словами узел данных, работающий ndbd, может быть остановлен, двоичный файл, замененный ndbmtd, и затем перезапускал без любой потери данных. (Однако, делая это, следует удостовериться это MaxNoOfExecutionThreads устанавливается в значение apppriate прежде, чем перезапустить узел, если Вы хотите для 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, полезны для анализа проблем командами MySQL Cluster Development и Support. Один файл трассировки сгенерирован для каждого потока ndbmtd. У имен этих файлов есть следующий образец:

          ndb_node_id_trace.log.trace_id_tthread_id,

В этом образце, node_id стенды для уникального ID узла узла данных в кластере, trace_id порядковый номер трассировки, и thread_id ID потока. Например, в случае отказа процесса ndbmtd, работающего как узел данных MySQL Cluster, имеющий ID узла 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 Сообщения об ошибках, для перечисления их.

Отметить

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