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

17.5.13.2. Добавление MySQL Cluster Data Nodes Online: Основная процедура

В этом разделе мы перечисляем основные шаги, требуемые добавить новые узлы данных к MySQL Cluster. Эта процедура применяется, используете ли Вы ndbd или ndbmtd двоичные файлы для процессов узла данных. Для более подробного примера см. Раздел 17.5.13.3, "Узлы данных Кластера MySQL Adding Онлайн: Подробный Пример".

Предположение, что у Вас уже есть рабочий MySQL Cluster, добавляя узлы данных онлайн, требует следующих шагов:

  1. Отредактируйте кластерную конфигурацию config.ini файл, добавляя новый [ndbd] разделы, соответствующие узлам, которые будут добавлены. В случае, где кластер использует многократные серверы управления, эти изменения должны быть произведены во всех config.ini файлы используются серверами управления.

    Следует быть осторожными что ID узла для любых новых узлов данных, включенных config.ini файл не перекрывает ID узла, используемые существующими узлами. Когда у Вас есть узлы API, использующие динамически выделенные ID узла, и эти ID соответствуют ID узла, которые Вы хотите использовать для новых узлов данных, возможно вынудить любые такие узлы API "перейти", как описано позже в этой процедуре.

  2. Выполните прокручивающийся перезапуск всех серверов управления MySQL Cluster.

    Важный

    Все серверы управления должны быть перезапущены с --reload или --initial опция, чтобы вызвать чтение новой конфигурации.

  3. Выполните прокручивающийся перезапуск всех существующих узлов данных MySQL Cluster. Это не является необходимым (или обычно даже требуемым) использовать --initial перезапуская существующие узлы данных.

    Если Вы используете узлы API с динамически выделенными ID, соответствующими какие-либо ID узла, которые Вы хотите присвоить новым узлам данных, следует перезапустить все узлы API (включая узлы SQL) прежде, чем перезапустить любой из процессов узлов данных в этом шаге. Это вызывает любые узлы API с ID узла, которые не были ранее явно присвоены оставить те ID узла и получить новые.

  4. Выполните прокручивающийся перезапуск любого SQL или узлов API, соединенных с MySQL Cluster.

  5. Запустите новые узлы данных.

    Новые узлы данных могут быть запущены в любом порядке. Они могут также быть запущены одновременно, пока они запускаются после того, как прокручивающиеся перезапуски всех существующих узлов данных были завершены, и прежде, чем продолжиться к следующему шагу.

  6. Выполнитесь один или больше CREATE NODEGROUP команды в клиенте управления MySQL Cluster, чтобы создать новую группу узла или группы узла, которым будут принадлежать новые узлы данных.

  7. Перераспределите данные кластера среди всех узлов данных (включая новые), выходя ALTER ONLINE TABLE ... REORGANIZE PARTITION оператор в mysql клиенте для каждого NDBCLUSTER таблица.

    Отметить

    Это должно быть сделано только для таблиц, уже существующих в то время, когда новая группа узла добавляется. Данные в таблицах, составленных после новой группы узла, добавляются, распределяется автоматически; однако, данные, добавленные к любой данной таблице tbl это существовало прежде, чем новые узлы были добавлены, не распределяется, используя новые узлы, пока та таблица не была реорганизована, используя ALTER ONLINE TABLE tbl REORGANIZE PARTITION.

  8. Исправьте пространство, освобожденное на "старых" узлах, выходя для каждого NDBCLUSTER таблица, OPTIMIZE TABLE оператор в mysql клиенте.

Можно добавить все требуемые узлы, затем выпустить несколько CREATE NODEGROUP команды по очереди, чтобы добавить новые группы узла к кластеру.