Spec-Zone .ru
спецификации, руководства, описания, API
|
ndbd является процессом, который используется, чтобы обработать все данные в таблицах, используя механизм хранения Кластера NDB. Это - процесс, который уполномочивает узел данных выполнять обработку распределенной транзакции, восстановление узла, установку контрольных точек к диску, онлайновому резервному копированию, и связанным задачам.
В MySQL Cluster ряд ndbd процессы сотрудничает в обработке данных. Эти процессы могут выполниться на том же самом компьютере (узел) или на различных компьютерах. Корреспонденции между узлами данных и узлами Кластера абсолютно конфигурируемы.
Следующая таблица включает опции команды, определенные для программы узла данных MySQL Cluster ndbd. Дополнительные описания следуют за таблицей. Для опций, характерных для большинства программ MySQL Cluster (включая ndbd), см. Раздел 17.4.25, "Опции, Характерные для MySQL Cluster Programs — Опции, Характерные для MySQL Cluster Programs".
Таблица 17.10. Опции ndbd и Переменные: MySQL Cluster NDB 7.3
Формат | Описание | Добавленный / Удаленный |
---|---|---|
Выполните начальный запуск ndbd, включая очистку файловой системы. Консультируйтесь с документацией перед использованием этой опции | Весь MySQL 5.6 базируемые выпуски |
|
Не запускайте ndbd сразу; ndbd ожидает команды, чтобы запуститься с ndb_mgmd | Весь MySQL 5.6 базируемые выпуски |
|
Запустите ndbd как демона (значение по умолчанию); переопределение с - nodaemon | Весь MySQL 5.6 базируемые выпуски |
|
Не запускайте ndbd как демона; если для тестирования | Весь MySQL 5.6 базируемые выпуски |
|
Выполненный ndbd на переднем плане, предусмотрел отладку целей (подразумевает - nodaemon), | Весь MySQL 5.6 базируемые выпуски |
|
Не ожидайте этих узлов данных, чтобы запустить (берет список разделенных запятой значений ID узла). Также требует - ndb-nodeid использоваться. | Весь MySQL 5.6 базируемые выпуски |
|
Выполните частичный начальный запуск (требует - nowait-узлы), | Весь MySQL 5.6 базируемые выпуски |
|
Локальный связывают адрес | Весь MySQL 5.6 базируемые выпуски |
|
Используемый, чтобы установить процесс узла данных как службу Windows. Не применяется на платформах не-Windows. | Весь MySQL 5.6 базируемые выпуски |
|
Используемый, чтобы удалить процесс узла данных, который был ранее установлен как служба Windows. Не применяется на платформах не-Windows. | Весь MySQL 5.6 базируемые выпуски |
|
Число раз, чтобы попытаться связаться с сервером управления; набор к-1, чтобы продолжить пробовать неопределенно | Весь MySQL 5.6 базируемые выпуски |
|
Время, чтобы ожидать между попытками связаться с сервером управления, в секундах | Весь MySQL 5.6 базируемые выпуски |
Все эти опции также применяются к многопоточной версии этой программы (ndbmtd), и можно заменить "ndbmtd" "ndbd" везде, где последний происходит в этом разделе.
Формат командной строки | --bind-address=name |
||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию |
|
Причины ndbd, чтобы связать с определенным сетевым интерфейсом (имя хоста или IP-адрес). У этой опции нет никакого значения по умолчанию.
Формат командной строки | --daemon |
||
-d |
|||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | TRUE |
Дает команду ndbd или ndbmtd выполняться как процесс демона. Это -
поведение значения по умолчанию. --nodaemon
может использоваться, чтобы препятствовать тому, чтобы
процесс работал как демон.
Эта опция не имеет никакого эффекта, работая ndbd или ndbmtd на платформах Windows.
Формат командной строки | --nodaemon |
||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | FALSE |
Предотвращает ndbd или ndbmtd от выполнения как процесс демона. Эта опция
переопределяет --daemon
опция. Это полезно для перенаправления вывода на экран, отлаживая двоичный файл.
Поведение значения по умолчанию для ndbd и ndbmtd на Windows должно работать на переднем плане, делая эту опцию, ненужную на платформах Windows, где это не имеет никакого эффекта.
Формат командной строки | --foreground |
||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | FALSE |
Причины ndbd
или ndbmtd, чтобы выполниться как приоритетный
процесс, прежде всего для того, чтобы отладить цели. Эта опция подразумевает --nodaemon
опция.
Эта опция не имеет никакого эффекта, работая ndbd или ndbmtd на платформах Windows.
Формат командной строки | --initial |
||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | FALSE |
Дает ndbd команду выполнять начальный запуск. Начальный запуск стирает любые файлы, создаваемые в целях восстановления более ранними экземплярами ndbd. Это также воссоздает файлы журнала восстановления. Отметьте, что на некоторых операционных системах этот процесс может взять значительное количество времени.
--initial
запуск должен использоваться только,
запуская процесс ndbd
при совершенно особых обстоятельствах; это - то, потому что эта опция заставляет все файлы быть
удаленными из файловой системы MySQL Cluster и всех файлов журнала отката, которые будут воссозданы.
Эти обстоятельства перечисляются здесь:
Выполняя обновление программного обеспечения, которое изменило содержание любых файлов.
Перезапуская узел с новой версией ndbd.
Как мера последней инстанции, когда по некоторым причинам перезапуск узла или системный перезапуск неоднократно перестали работать. В этом случае знайте, что этот узел больше не может использоваться, чтобы восстановить данные из-за разрушения файлов данных.
Использование этой опции предотвращает StartPartialTimeout
и StartPartitionedTimeout
параметры конфигурации от имения любого
эффекта.
Эта опция не влияет ни на один из следующих типов файлов:
Файлы резервных копий, которые были уже созданы узлом, на который влияют,
MySQL Cluster Disk Data files (см. Раздел 17.5.12, "MySQL Cluster Disk Data Tables").
Эта опция также не имеет никакого эффекта на восстановление данных узлом данных, который только запускает (или перезапускает) от узлов данных, которые уже работают. Это восстановление данных происходит автоматически, и не требует никакого вмешательства пользователя в MySQL Cluster, который работает обычно.
Допустимо использовать эту опцию, запуская кластер в самый первый раз когда (то есть, прежде, чем любые файлы узла данных были созданы); однако, не необходимо сделать так.
Формат командной строки | --initial-start |
||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | FALSE |
Эта опция используется, выполняя частичный начальный запуск кластера. Каждый узел должен быть
запущен с этой опции, так же как --nowait-nodes
.
Предположите, что у Вас есть кластер с 4 узлами, у узлов данных которого есть ID 2, 3, 4, и 5, и Вы хотите выполнить частичный начальный запуск, используя только узлы 2, 4, и 5 — то есть, опуская узел 3:
shell>ndbd --ndb-nodeid=2 --nowait-nodes=3 --initial-start
shell>ndbd --ndb-nodeid=4 --nowait-nodes=3 --initial-start
shell>ndbd --ndb-nodeid=5 --nowait-nodes=3 --initial-start
При использовании этой опции следует также определить ID узла для узла данных, запускаемого с --ndb-nodeid
опция.
Не путайте эту опцию с --nowait-nodes
опция для ndb_mgmd, который может использоваться, чтобы
позволить кластеру, сконфигурированному с многократными серверами управления быть запущенным без
всех серверов управления, являющихся онлайновым.
--nowait-nodes=
node_id_1
[, node_id_2
[, ...]]
Формат командной строки | --nowait-nodes=list |
||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию |
|
Эта опция берет список узлов данных который, для которого кластер не будет ожидать перед запуском.
Это может использоваться, чтобы запустить кластер в разделенном состоянии. Например, чтобы запустить
кластер с только половины узлов данных (узлы 2, 3, 4, и 5) работающий в кластере с 4 узлами, можно
запустить каждый процесс ndbd с --nowait-nodes=3,5
. В этом случае кластер запускается, как только узлы
2 и 4 соединяются, и не ожидает StartPartitionedTimeout
миллисекунды для узлов 3 и 5, чтобы
соединиться, как это было бы иначе.
Если Вы хотели запустить тот же самый кластер как в предыдущем примере без одного ndbd (скажите, например, что хост-машина для узла 3
пострадала, отказ оборудования) тогда запускают узлы 2, 4, и 5 с --nowait-nodes=3
.
Затем кластер запустится, как только узлы 2, 4, и 5 соединяются и не будут ожидать узла 3, чтобы
запуститься.
Формат командной строки | --nostart |
||
-n |
|||
Разрешенные Значения | |||
Ввести | boolean |
||
Значение по умолчанию | FALSE |
Дает ndbd
команду не запускаться автоматически. Когда эта опция используется, ndbd соединяется с сервером управления, получает
данные конфигурации из него, и инициализирует коммуникационные объекты. Однако, это фактически не
запускает механизм выполнения пока определенно не требующийся сделать так сервером управления. Это
может быть выполнено, выпуская надлежащее START
команда в клиенте
управления (см. Раздел 17.5.2,
"Команды в MySQL Cluster Management Client").
Формат командной строки | --install[=name] |
||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию | ndbd |
Причины ndbd,
чтобы быть установленным как служба Windows. Дополнительно, можно определить имя для службы; если не
набор, значения по умолчанию имени службы к ndbd
. Хотя предпочтительно
определить другие ndbd опции программы в a my.ini
или my.cnf
конфигурационный файл, возможно использовать вместе с --install
. Однако, в таких случаях, --install
опция должна быть определена сначала, прежде, чем любые
другие опции даются для установки службы Windows, чтобы успешно выполниться.
Обычно не желательно использовать эту опцию вместе с --initial
опция, так как это заставляет файловую систему узла данных
быть вытертой и восстановило каждый раз, когда служба останавливается и запускается. Экстремальная
забота должна также быть проявлена, если Вы намереваетесь использовать какую-либо из других ndbd опций, которые влияют на запуск узлов
данных — включая --initial-start
, --nostart
, и --nowait-nodes
— вместе с --install
, и следует сделать абсолютно бесспорным, что Вы
полностью понимаете и учитываете любые возможные последствия выполнения так.
--install
опция не имеет никакого эффекта на платформы не-Windows.
Формат командной строки | --remove[=name] |
||
Разрешенные Значения | |||
Ввести | string |
||
Значение по умолчанию | ndbd |
Вызывает процесс ndbd,
который был ранее установлен как служба Windows, которая будет удалена. Дополнительно, можно
определить имя для службы, которая будет удалена; если не набор, значения по умолчанию имени службы
к ndbd
.
--remove
опция не имеет никакого эффекта на платформы не-Windows.
Формат командной строки | --connect-retries=# |
||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 12 |
||
Диапазон | -1 .. 65535 |
Определяет число раз, что узел данных пытается связаться с сервером управления, запускаясь.
Установка этой опции к-1 причине узел данных, чтобы продолжить пытаться вступить в контакт
неопределенно. Значение по умолчанию является 12 попытками. Временем, чтобы ожидать между попытками
управляют --connect-delay
опция.
Формат командной строки | --connect-delay=# |
||
Разрешенные Значения | |||
Ввести | numeric |
||
Значение по умолчанию | 5 |
||
Диапазон | 0 .. 3600 |
Определяет время, чтобы ожидать между попытками связаться с сервером управления, запускаясь
(временем между попытками управляют --connect-retries
опция). Значение по умолчанию является 5
попытками.
Эта опция была добавлена в MySQL Cluster NDB 7.2.9.
ndbd генерирует ряд файлов журнала, которые помещаются в
каталог, определенный DataDir
в config.ini
конфигурационный файл.
Эти файлы журнала упоминаются ниже. node_id
уникальный идентификатор
узла. Отметьте это node_id
представляет уникальный идентификатор узла.
Например, ndb_2_error.log
журнал ошибок, сгенерированный по условию узел, ID узла
которого 2
.
ndb_
файл,
содержащий записи всех катастрофических отказов, с которыми, встретился процесс ndbd, на который ссылаются. Каждая запись в этом
файле содержит краткую ошибочную строку и ссылку на файл трассировки для этого катастрофического отказа.
Типичная запись в этом файле могла бы появиться как показано здесь: node_id
_error.log
Date/Time: Saturday 30 July 2004 - 00:20:01Type of error: errorMessage: Internal program error (failed ndbrequire)Fault ID: 2341Problem data: DbtupFixAlloc.cppObject of reference: DBTUP (Line: 173)ProgramName: NDB KernelProcessID: 14909TraceFile: ndb_2_trace.log.2***EOM***
Списки возможных ndbd
кодов выхода и сообщений, сгенерированных, когда процесс узла данных завершает работу
преждевременно, могут быть найдены в ndbd
Сообщения об
ошибках
Последняя запись в файле журнала ошибок является не
обязательно новейшей (и при этом это, вероятно, не будет). Записи в журнале ошибок
не перечисляются в хронологическом порядке; скорее они
соответствуют порядку файлов трассировки как определено в ndb_
файл (см. ниже).
Записи журнала ошибок таким образом перезаписываются в циклическом и не последовательном виде.
node_id
_trace.log.next
ndb_
файл трассировки, описывающий точно, что
произошло непосредственно перед тем, как ошибка произошла. Эта информация полезна для анализа группой
разработчиков MySQL Cluster. node_id
_trace.log.trace_id
Возможно сконфигурировать число этих файлов трассировки, которые будут создаваться прежде, чем
старые файлы перезаписываются. trace_id
число, которое
постепенно увеличивается для каждого последовательного файла трассировки.
ndb_
файл, который отслеживает следующее число файла трассировки, которое будет присвоено. node_id
_trace.log.next
ndb_
файл, содержащий любой вывод данных процессом ndbd. Этот файл создается, только если ndbd запускается как демон, который является
поведением значения по умолчанию. node_id
_out.log
ndb_
файл, содержащий ID процесса процесса ndbd когда запущено как демон. Это также функционирует
как файл блокировки, чтобы избежать запуска узлов с тем же самым идентификатором. node_id
.pid
ndb_
файл, используемый только в отладочных версиях ndbd, где возможно проследить все поступление,
выход, и внутренние сообщения с их данными в процессе ndbd.node_id
_signal.log
Рекомендуется не использовать каталог, смонтированный через NFS, потому что в некоторых средах это может вызвать
проблемы посредством чего блокировка на .pid
файл остается в силе даже после того,
как процесс завершился.
Чтобы запустить ndbd, может также быть необходимо определить имя хоста сервера управления и порта, на котором это слушает. Дополнительно, можно также определить ID узла, который должен использовать процесс.
shell> ndbd --connect-string="nodeid=2;host=ndb_mgmd.mysql.com:1186"
См. Раздел 17.3.2.3, "MySQL Cluster Connectstring", для дополнительной информации об этой проблеме. Раздел 17.4.1, "ndbd — MySQL Cluster Data Node Daemon", описывает другие опции для ndbd.
Когда ndbd запускается, он фактически инициирует два процесса. Первый из них вызывают "процессом ангела"; его единственное задание должно обнаружить, когда процесс выполнения был завершен, и затем перезапускать процесс ndbd, если это конфигурируется, чтобы сделать так. Таким образом, если Вы пытаетесь уничтожить ndbd, использование Unix уничтожает команду, необходимо уничтожить оба процесса, начинаясь с процесса ангела. Привилегированный метод завершения процесса ndbd должен использовать клиент управления и остановить процесс оттуда.
Процесс выполнения использует один поток для того, чтобы считать, писать, и отсканировать данные, так же как все другие действия. Этот поток реализуется асинхронно так, чтобы он мог легко обработать тысячи параллельных действий. Кроме того, сторожевой поток контролирует поток выполнения, чтобы удостовериться, что это не зависает в бесконечном цикле. Пул потоков обрабатывает файловый ввод-вывод с каждым потоком, который в состоянии обработать один открытый файл. Потоки могут также использоваться для соединений транспортера транспортерами в процессе ndbd. В многопроцессорной системе, выполняющей большое количество операций (включая обновления), процесс ndbd может использовать до 2 ЦП если разрешено сделать так.
Для машины со многими ЦП возможно использовать несколько процессов ndbd, которые принадлежат различным группам узла; однако, такую конфигурацию все еще считают экспериментальной и не поддерживается для MySQL 5.6 в производственной установке. См. Раздел 17.1.6, "Известные Ограничения MySQL Cluster".