Spec-Zone.ru › MySQL 5.7

21.6.4 Сводка фаз запуска NDB кластера

В этом разделе представлен упрощённый обзор шагов, которые выполняются при запуске узлов данных NDB кластера. Более подробную информацию можно найти в Фазах запуска NDB кластера в руководстве по внутренним механизмам NDB.

Эти фазы совпадают с фазами, отображаемыми в выводе команды node_id STATUS в клиенте управления (см. Раздел 21.6.1, «Команды в клиенте управления NDB кластером»). Эти фазы запуска также отображаются в столбце start_phase таблицы ndbinfo.nodes.

Типы запуска. Существует несколько различных типов и режимов запуска, как показано в следующем списке:

  • Первоначальный запуск. Кластер запускается с чистой файловой системой на всех узлах данных. Это происходит либо при первом запуске кластера, либо при перезапуске всех узлов данных с помощью опции --initial.

    Примечание

    Файлы данных на диске не удаляются при перезапуске узла с помощью опции --initial.

  • Перезапуск системы. Кластер запускается и считывает данные, хранящиеся в узлах данных. Это происходит, когда кластер был выключен после использования, и желательно, чтобы кластер возобновил работу с точки, на которой он остановился.

  • Перезапуск узла. Это онлайн-перезапуск узла кластера во время работы самого кластера.

  • Первоначальный перезапуск узла. Это то же, что и перезапуск узла, за исключением того, что узел повторно инициализируется и запускается с чистой файловой системой.

Настройка и инициализация (фаза -1). Перед запуском каждый узел данных (ndbd процесс) должен быть инициализирован. Инициализация состоит из следующих шагов:

  1. Получение идентификатора узла

  2. Получение данных конфигурации

  3. Распределение портов для межузловой связи

  4. Распределение памяти в соответствии с настройками, полученными из файла конфигурации

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

После инициализации каждого узла данных процесс запуска кластера может продолжить работу. Этапы, которые проходит кластер в этом процессе, перечислены здесь:

  • Фаза 0. Блоки NDBFS и NDBCNTR запускаются. Файловые системы узлов данных очищаются на тех узлах данных, которые были запущены с опцией --initial.

  • Фаза 1. На этом этапе запускаются все оставшиеся блоки ядра NDB. Устанавливаются подключения NDB кластера, устанавливается межблочная связь и запускаются сигналы heartbeat. В случае перезапуска узла также проверяются подключения API узлов.

    Примечание

    Если один или несколько узлов зависают на фазе 1, в то время как остальные узлы зависают на фазе 2, это часто указывает на проблемы с сетью. Одной из возможных причин таких проблем является наличие нескольких сетевых интерфейсов на одном или нескольких узлах кластера. Другим распространённым источником проблем, приводящих к этому состоянию, является блокирование TCP/IP портов, необходимых для связи между узлами кластера. В последнем случае это часто связано с неправильной настройкой брандмауэра.

  • Фаза 2. Блок ядра NDBCNTR проверяет состояние всех существующих узлов. Выбирается главный узел, и инициализируется файл схемы кластера.

  • Фаза 3. Блоки ядра DBLQH и DBTC устанавливают межблочную связь. Определяется тип запуска; если это перезапуск, блок DBDIH получает разрешение на выполнение перезапуска.

  • Фаза 4. При первоначальном запуске или первоначальном перезапуске узла создаются файлы журнала переигрывания. Количество этих файлов равно NoOfFragmentLogFiles.

    Для перезапуска системы:

    • Чтение схемы или схем.

    • Чтение данных из локальной контрольной точки.

    • Применение всей информации переигрывания до достижения последней восстанавливаемой глобальной контрольной точки.

    Для перезапуска узла ищите хвост журнала переигрывания.

  • Фаза 5. Большая часть баз данных, связанная с запуском узла данных, выполняется на этой фазе. Для первоначального запуска или перезапуска системы выполняется локальная контрольная точка, за которой следует глобальная контрольная точка. Периодическая проверка использования памяти начинается на этой фазе, и выполняются все необходимые перехваты узлов.

  • Фаза 6. На этой фазе определяются и настраиваются группы узлов.

  • Фаза 7. Выбирается арбитражный узел и он начинает свою работу. Устанавливается следующий идентификатор резервной копии, а также скорость записи резервной копии на диск. Узлы, достигшие этой фазы запуска, помечаются как Started. Теперь узлы API (включая узлы SQL) могут подключаться к кластеру.

  • Фаза 8. Если это перезапуск системы, все индексы перестраиваются (блоком DBDIH).

  • Фаза 9. Переменные внутреннего запуска узла сбрасываются.

  • Фаза 100 (УСТАРЕЛА). Раньше именно на этой стадии во время перезапуска узла или первоначального перезапуска узла узлы API могли подключаться к узлу и начинать получать события. В настоящее время эта фаза пуста.

  • Фаза 101. На этой стадии в случае перезапуска узла или первоначального перезапуска узла передача доставки событий передаётся присоединяющемуся к кластеру узлу. Новый узел берёт на себя ответственность за доставку своих основных данных подписчикам. Эта фаза также известна как фаза передачи SUMA.

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

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

Spec-Zone.ru

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