WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Эта секция описывает основы для планирования, установки, формирования и
управления NDB Cluster. Принимая во внимание, что примеры в
главе 5 предоставляют больше всесторонней
информации о множестве конфигураций кластера,
результаты следующих рекомендаций и процедур, обрисованных в общих чертах
здесь, должны быть применимы NDB Cluster, который отвечает
минимальным требованиям
доступности и охраны данных. Для получения информации о модернизации NDB Cluster
между версиями выпуска, посмотрите
раздел 4.9. Эта секция покрывает аппаратные и программные требования,
организацию сети, установку NDB Cluster,
проблемы базовой конфигурации, старт, остановку и перезапуск,
загрузка базы данных-образца и выполнение запросов. Установка GUI. NDB Cluster предоставляет NDB Cluster
Auto-Installer, web-установщик, как часть NDB Cluster. Auto-Installer может
использоваться, чтобы выполнить базовую установку
на одной (для тестирования) или больше машин.
Автоинсталлятор был обновлен для NDB 7.6 и отличается во многих отношениях
от версии в NDB 7.5 и ранее.
Раздел 4.1 имеет информацию об автоинсталляторе для NDB 7.5, если вы
используете NDB 7.6, посмотрите
раздел 4.2. Предположения.
Следующие разделы делают много предположений относительно физической
конфигурации и сети кластера. Эти предположения обсуждены в
следующих нескольких параграфах.
Узлы и хосты. Кластер состоит из четырех узлов, каждый на отдельном
хосте, каждый с закрепленным сетевым адресом в типичной сети Ethernet,
как показано здесь: Таблица 4.1. Адреса узлов в кластере в качестве примера Эту установку также показывают на следующей диаграмме: Рис. 4.1. Мультикомпьютерная установка NDB Cluster Сетевая адресация.
В интересах простоты (и надежности) это How-To
использует только числовые IP-адреса. Однако, если разрешение DNS доступно в
вашей сети, возможно использовать имена хоста вместо IP-адресов.
Альтернативно можно использовать файл Потенциальные проблемы файла hosts.
Типичная проблема, пытаясь использовать имена хоста для узлов
возникает из-за пути, которым некоторые операционные системы (включая
некоторые дистрибутивы Linux) настраивают собственное имя хоста системы в
SUSE Linux (включая OpenSUSE) помещает эти записи в файлы
В обоих случаях Вы не можете смешать Тип компьютера. Каждый компьютер в нашем инсталляционном сценарии
это основанный на х86 настольный ПК, управляющий поддержанной операционной
системой, установленной на диске в стандартной конфигурации и не управляющий
никакими ненужными сервисами. Основная операционная система со стандартными
сетевыми возможностями TCP/IP должна быть достаточной.
Также ради простоты, мы также предполагаем, что файловые системы на всех
хостах настраиваются тождественно. Если это не так, необходимо приспособить
эти инструкции соответственно. Сетевые аппаратные средства.
Стандартные карты Ethernet на 1 гигабит или на 100 Мбит/с устанавливаются на
каждой машине, наряду с надлежащими
драйверами для карт, все четыре хоста связаны через стандартный
Ethernet, например, через коммутатор.
Все машины должны использовать сетевые платы с той же самой пропускной
способностью. Таким образом, у всех четырех машин в группе должны быть карты
на 100 Мбит/с или
на 1 Gbps. NDB Cluster работает в сети на 100 Мбит/с, однако, гигабитный
Ethernet обеспечивает лучшую работу. NDB Cluster не
предназначается для использования в сети, для которой пропускная способность
составляет меньше 100 Мбит/с или у которой высокое время ожидания.
Поэтому (среди других причин), попытка управлять NDB Cluster
по глобальной сети, такой как Интернет, вряд ли будет успешной и
не поддерживается в производстве. Типовые данные. Мы используем базу данных
Для получения общей информации об установке MySQL посмотрите
Installing and Upgrading MySQL.
Для получения информации об установке кластера NDB на Linux и других
подобных Unix операционных системах посмотрите
раздел 4.3.
Для получения информации об установке кластера NDB на операционных
системах Windows посмотрите
раздел 4.4. Для получения общей информации об аппаратных средствах кластера NDB,
программном обеспечении и сетевых требованиях см.
раздел 3.3. Эта секция описывает веб-графический инсталлятор, включенный как часть
кластера в NDB Cluster 7.5. При использовании NDB 7.6 посмотрите
раздел 4.2. Темы, обсужденные в следующих разделах, включают обзор инсталлятора и его
частей, программного обеспечения и других требований для управления
инсталлятором, навигации GUI, и использования инсталлятора, чтобы настроить
NDB Cluster на одном или более хостах. NDB Cluster Auto-Installer составлен из двух компонентов.
Фронтэнд это клиент GUI, осуществленный как веб-страница, которая загружается
и работает в стандартном веб-браузере, таком как Firefox или
Microsoft Internet Explorer. Бэкэнд это серверный процесс
(
ndb_setup.py),
который работает на местной машине или на другом хосте, к которому у
вас есть доступ. Эти два компонента (клиент-сервер) общаются друг с другом, используя
стандартные запросы HTTP и ответы. Бэкэнд может управлять программами
кластера NDB на любом хосте, где пользователь бэкэнда предоставил доступ.
Если программное обеспечение NDB Cluster находится на ином хосте, бэкэнд
полагается на SSH для доступа. Эта секция предоставляет информацию о поддержанных операционных платформах
и программном обеспечении, требуемом программном обеспечении и других
предпосылках для управления NDB Cluster Auto-Installer. Поддерживаемые платформы.
NDB Cluster Auto-Installer доступен с большей частью дистрибутивов NDB
7.5.2 и позже для последних версий Linux, Windows, Solaris и macOS.
Для более подробной информации о поддержке платформ NDB Cluster и NDB
Cluster Auto-Installer см.
https://www.mysql.com/support/supportedplatforms/cluster.html. NDB Cluster Auto-Installer не поддерживается с NDB 7.5.0
или 7.5.1 (Bug #79853, Bug #22502247). Поддержанные веб-браузеры.
Веб-инсталлятор поддерживается с последними версиями Firefox и Microsoft
Internet Explorer. Это должно также работать с последними версиями Opera,
Safari и Chrome, хотя мы не полностью проверили на
совместимость с этими браузерами. Необходимое программное обеспечение: сервер.
Следующее программное обеспечение должно быть установлено на хосте,
где выполняется Auto-Installer: Python 2.6 или выше.
Auto-Installer требует Python и стандартных библиотек. Если они не
устанавливаются в системе, можно добавить их используя
диспетчер пакетов системы. Иначе они могут быть загружены с
http://python.org/download/. Paramiko 1.7.7.1 или выше. Можно загрузить это с
http://www.lag.net/paramiko/,
если это не доступно из диспетчера пакетов системы. Pycrypto version 1.9 или выше.
Этот модуль криптографии требуется Paramiko.
Если это недоступно с использованием пакета вашей системы, можно загрузить
его с https://www.dlitz.net/software/pycrypto/. Все программное обеспечение в предыдущем списке включено в версию Windows
инструмента конфигурирования и не должно быть установлено отдельно. Необходимое программное обеспечение: удаленные хосты.
Единственное программное обеспечение для удаленных хостов, где вы хотите
развернуть узлы кластера NDB, это сервер SSH,
который обычно устанавливается по умолчанию на системах Linux и Solaris.
Несколько альтернатив доступны для Windows, для обзора их см.
http://en.wikipedia.org/wiki/Comparison_of_SSH_servers.
Дополнительное требование, используя многократных хосты:
возможность подтвердить подлинность любому из отдаленных хостов, используя
SSH и надлежащие ключи или удостоверения пользователя, как обсуждено в
следующих нескольких параграфах: Идентификация и безопасность.
Три основных механизма безопасности или аутентификации для удаленного доступа
доступны Auto-Installer: SSH.
Безопасная связь используется, чтобы позволить бэкэнду выполнить действия на
отдаленных хостах. Поэтому сервер SSH должен работать на отдаленном хосте.
Кроме того, у пользователя операционной системы, управляющего инсталлятором,
должен быть доступ к удаленному серверу с именем пользователя и паролем
или при помощи открытых и закрытых ключей. Вы никогда не должны использовать системный логин
HTTPS.
Удаленная связь между фронтэндом веб-браузера и бэкэндом не зашифрована по
умолчанию, что означает, что информация, такая как пароль пользователя SSH
передана как открытый текст, который является удобочитаемым любому. Для
коммуникации с удаленным клиентом, которая будет зашифрована, у бэкэнда
должен быть сертификат, а фронтэнд должен общаться с бэкэндом, используя
HTTPS, а не HTTP. Предоставление возможности HTTPS достигается наиболее легко
посредством издания самоподписанного сертификата. Как только он сделан,
необходимо удостовериться, что он используется. Можно сделать это,
запустив
ndb_setup.py
из командной строки с опциями
Основанная на сертификате идентификация.
Бэкэнд
ndb_setup.py
может выполнить команды на местном хосте, а также отдаленных хостах.
Это означает, что любой соединяющийся с бэкэндом может взять на себя
ответственность, как выполняются команды.
Чтобы отклонить нежелательные связи с бэкэндом, сертификат
может требоваться для идентификации клиента. В этом случае он
должен быть выпущен пользователем, установлен в браузере и сделан доступным
для бэкэнда в целях идентификации.
Можно выполнить это требование (вместе с или вместо пароля или ключевой
идентификации), запустив
ndb_setup.py с опцией
Нет никакой потребности или требования для безопасной аутентификации, когда
браузер клиента работает на том же самом хосте, где бэкэнд Auto-Installer. См. также раздел 7.12,
который обсуждает соображения безопасности, которые надо принять во внимание,
развертывая кластер NDB, а также
Security для более общей информации о безопасности MySQL. NDB Cluster Auto-Installer состоит из нескольких страниц, каждая
соответствует шагу в процессе формирования и развертывания
кластера NDB, и перечислены здесь:
Welcome: Начните использовать автоинсталлятор, приняв
решение формировать новый кластер NDB или
продолжить формировать существующий.
Define
Cluster: Установите основную информацию в целом, такую
как имя кластера и хосты. Здесь можно также установить тип аутентификации SSH
для доступа к отдаленным хостам в случае необходимости.
Define
Hosts: Опознайте хосты, где вы намереваетесь управлять
процессами кластера NDB.
Define Processes:
Назначьте один или несколько процессов данного типа или типов
каждому хосту кластера.
Define Attributes:
Настройте параметры для процессов или типов процессов.
Deploy
Cluster: Разверните кластер с заданной ранее
конфигурацией, запустите и остановите развернутый кластер. Следующие разделы описывают более подробно цель и функцию
каждой из этих страниц. Auto-Installer поставляется вместе с NDB Cluster. См.
главу 4.
Существующая секция объясняет, как его запустить. Можно сделать это, вызвав
ndb_setup.py. Необходимо управлять
ndb_setup.py
как обычный пользователь, никакие специальные привилегии не необходимы, чтобы
сделать это. Вы не должны управлять этой программой как пользователь
ndb_setup.py
лежит в подкаталоге В Windows можно также начать инсталлятор, управляя
setup.bat в каталоге установки
NDB Cluster. Когда вызван из командной строки, это принимает те же самые
опции, как
ndb_setup.py.
ndb_setup.py
может быть запущен с любой из нескольких опций, которые затрагивают его
действие, но обычно достаточно позволить настройкам по умолчанию
использоваться, в этом случае можно запустить
ndb_setup.py
любым из следующих двух методов: Перейдите в терминале в каталог NDB Cluster
Это работает независимо от операционной платформы. Перейдите в менеджере файлов в каталог NDB Cluster
В Windows можно также перейти к инсталляционному каталогу кластера NDB и
активировать значок файла setup.bat.
В любом случае как только вызван
ndb_setup.py,
Auto-Installer
Welcome screen
должен открыться в веб-браузере системы по умолчанию. В некоторых случаях можно хотеть использовать параметры настройки не по
умолчанию для инсталлятора, такие как определение различного порта для
включенного веб-сервера Auto-Installer, в этом случае необходимо вызвать
ndb_setup.py
с одной или более опциями запуска с параметрами, отвергающими необходимые
умолчания. Те же самые опции запуска могут использоваться в
системах Windows с файлом setup.bat
, поставляемым для таких платформ в дистрибутиве NDB Cluster.
Это может быть сделано, используя командную строку, но если вы хотите или
должны запустить инсталлятор с настольного или файлового браузера,
подразумевая одну или больше опций, также возможно создать скрипт,
содержащий надлежащий вызов, затем дважды щелкнуть по значку файла в файловом
браузере, чтобы запустить инсталлятор. В системах Linux вы, возможно, также
должны были бы сначала сделать исполняемым файл скрипта.
Для получения информации о продвинутых опциях запуска для автоинсталлятора
кластера NDB посмотрите
раздел 6.27. Экран Welcome
загружается в браузере по умолчанию, когда запускается
ndb_setup.py: Рис. 4.2. Экран Welcome NDB Cluster Auto-Installer Этот экран обеспечивает следующие два выбора для входа в
инсталлятор, один из которых должен быть выбран, чтобы продолжить: Create New NDB Cluster:
Начните с абсолютно нового кластера, который
будет настроен и развернут. Continue Previous Cluster
Configuration: Начните в том же самом пункте, где закончена предыдущая
сессия со всеми предыдущими сохраненными параметрами настройки. Второй вариант требует, чтобы браузер был в состоянии получить доступ к
своим cookies от предыдущей сессии, поскольку они обеспечивают механизм,
которым сохранены конфигурация и другая информация, произведенная во время
сессии. Другими словами, чтобы продолжить предыдущую работу с Auto-Installer,
необходимо использовать тот же самый веб-браузер, работающий на том же самом
хосте, как в предыдущей сессии. Экран Define Cluster это
первый экран, который появится после выбора, сделанного на шаге
Welcome,
и используется для урегулирования общих свойств кластера.
Вид экрана Define Cluster: Рис. 4.3. Экран Define Cluster NDB Cluster Auto-Installer Экран Define Cluster
позволяет вам устанавливать много общих свойств для кластера, как
описано в этом списке: Cluster name:
имя, которое определяет кластер. По умолчанию
Host list:
разграниченный запятой список из одного или более хостов, где процессы
кластера должны работать. По умолчанию это
Application type: Выберите: Не предназначено
для производственных сред. :
Максимизировать производительность для данных аппаратных средств. :
Максимизировать производительность максимизируя чувствительность к
тайм-аутам, чтобы минимизировать время, за котрое надо обнаружить
зависшие процессы кластера. Write load:
Выберите уровень ожидаемого количества записей
для кластера в целом. Можно выбрать любой из следующих уровней: :
ожидаемая нагрузка включает меньше 100 транзакций записи в секунду. : ожидаемая нагрузка включает
от 100 до 1000 транзакций записи в секунду. : ожидаемая нагрузка включает
свыше 1000 транзакций записи в секунду. SSH Credentials: выберите
Key-Based SSH или введите
User и
Password. Ключ SSH или имя пользователя с
паролем требуются для соединения с любыми удаленными хостами, определенными в
Host list. По умолчанию выбран
Key-Based SSH,
User и
Password пустые. Экран Define Hosts
обеспечивает средство просмотра и определения нескольких ключевых свойств
каждого хоста кластера: Рис. 4.4. Экран Define Hosts NDB Cluster Хосты, в настоящее время вводимые, показаны в сетке с различными
сведениями. Можно добавить хосты, нажимая
Define Cluster). Точно так же можно удалить один или более хостов, используя маркированную
кнопку Если выбрано поле
Automatically get resource information for new
hosts в меню , Auto-Installer
пытается получить название платформы, объем памяти и количество ядер
процессора и заполнить их автоматически. Статус этого показан в колонке
Resource info.
Установка информации от удаленных хостов не мгновенна и может занять время,
особенно от удаленных хостов под Windows. Если параметры пользователя SSH на экране
Define Cluster
изменяются, инструмент пытается освежить информацию об аппаратных средствах
от любых хостов, для которых отсутствует информация.
Однако, если данная область была уже отредактирована, указанная
пользователями информация не
переписана никаким значением от того хоста. Информация об аппаратном ресурсе, название платформы, инсталляционный
каталог и каталог данных могут быть отредактированы пользователем, щелкнув по
соответствующей клетке в сетке, выбирая один или более хостов и нажимая
кнопку маркированную Edit selected host(s).
Это заставляет появляться диалоговое окно, в котором эти области могут быть
отредактированы, как показано здесь: Рис. 4.5. Диалог Edit Hosts в NDB Cluster Auto-Installer Когда больше, чем один хост выбран, любые отредактированные значения
применяются ко всем выбранным хостам. Экран Define Processes
обеспечивает способ назначить процессы кластера NDB (узлы) хостам: Рис. 4.6. Диалог Define Processes NDB Cluster Auto-Installer Этот экран содержит дерево процессов, показывающее
хосты кластера, и устанавливает процессы на каждый, а также панель, которая
показывает информацию о пункте, в настоящее время выбираемом в дереве. Когда к этому экрану получают доступ впервые для данного
кластера, набор процессов по умолчанию определяется для вас, на основе числа
хостов. Если вы позже возвращаетесь к экрану
Define Hosts,
удаляете все хосты и добавляете новые, это также заставляет новый набор
процессов по умолчанию быть определенным. Процессы NDB Cluster имеют следующие типы: Узел управления.
Выполняет задачи администрирования, такие как остановка отдельных узлов
данных, запрос узла и статуса кластера и создание резервных копий.
Исполняемый файл:
ndb_mgmd. Однопоточный узел данных.
Хранит данные и выполняет запросы. Исполняемый файл:
ndbd. Мультипоточный узел данных.
Хранит данные и выполняет запросы с многократными рабочими потоками,
выполняющимися параллельно. Исполняемый файл:
ndbmtd. Узел SQL. Сервер MySQL для выполнения SQL-запросов в
Узел API. Клиент, получающий доступ к данным в
См. раздел 3.1. Процессы, показанные в дереве, пронумерованы последовательно типом для
каждого хоста, например, Каждый узел управления, узел данных или процесс SQL должны быть назначены
на определенный хост и не позволены ни на каком другом хосте. Узел API
может
быть назначен на единственный хост, но это не требуется. Вместо этого можно
назначить его на специальное предложение , которое дерево также содержит в дополнение к любым другим хостам, и
которое действует как заполнитель для процессов, которым позволяют работать
на любом хосте. Так можно только с процессами API
. Добавление процессов.
Чтобы добавить новый процесс к данному хосту, щелкните правой кнопкой мыши по
входу того хоста в дереве, затем выберите
Add process, когда это появляется, или выберите
хост в дереве процесса и нажмите
ниже дерева процесса. Выполнение любого из этих действий открывает
диалог add process: Рис. 4.7. Диалог Add Process в NDB Cluster Auto-Installer Здесь можно выбрать из числа доступных типов процесса,
можно также ввести произвольное имя процесса, чтобы занять место
предложенного значения при желании. Удаление процессов.
Чтобы удалить процесс, щелкните правой кнопкой мыши по процессу в дереве и
выберите delete process
или выберите процесс, затем используйте кнопку
ниже дерева процесса. Когда процесс выбран в дереве процесса, информация об этом процессе
показана в информационной группе, где можно поменять имя процесса и возможно
его тип. В настоящее время можно изменить однопоточный узел данных
(
ndbd) на мультипоточный
(
ndbmtd) или наоборот,
никакие другие изменения типа процесса не позволены. Если вы хотите внести
изменение между какими-либо другими типами процесса, необходимо удалить
оригинальный процесс сначала, затем добавить новый процесс желаемого типа. Экран похож на
Define Processes,
включая дерево процессов. В отличие от дерева того экрана, дерево процессов
Define Attributes
организовано процессом или типом узла, с однопоточными
и многопоточными узлами данных, считающимися того же самого типа с этой
целью, в группах, маркированных
, , и
. Информационная панель
показывает информацию относительно пункта, в настоящее время выбранного.
Экран Define Attributes: Рис. 4.8. Экран Define Attributes в NDB Cluster Auto-Installer Флажок Show advanced configuration,
когда выбран, делает расширенные настройки видимыми в информационной
панели. Эти опции устанавливаются и используются, видимы ли они. Можно отредактировать признаки для единственного процесса, выбрав тот
процесс из дерева, или для всех процессов того же самого типа в группе,
выбрав одну из папок Рис. 4.9. Define Attributes Detail с атрибутами процееса SQL Для некоторых признаков, показанных в информационной панели,
показана кнопка, имеющая знак "плюс", что означает, что значение
признака может быть отвергнуто. Эта кнопка Рис. 4.10. Define Attributes Detail, отвергая значение
по умолчанию признака Нажатие на Все признаки конфигурации имеют предопределенные значения, вычисленные
инсталлятором на основе таких факторов, как имя хоста, ID узла, тип узла и
так далее. В большинстве случаев эти значения можно оставить как есть.
Если вы незнакомы с ним, настоятельно рекомендовано прочитать соответствующую
документацию прежде, чем внести изменения в любое из значений атрибута. Чтобы
сделать нахождение этой информации легче, каждое название атрибута,
показанное в информационной панели, связано с описанием в документации
кластера NDB онлайн. Этот экран позволяет вам выполнять следующие задачи: Команды запуска процесса
и конфигурационные файлы, которые будут применены. Распределите конфигурационные файлы, создав любые необходимые файлы и
каталоги на всех хостах кластера, то есть,
разверните
кластер, как в настоящее время формируется. Запустите и остановите кластер. Экран Deploy Cluster: Рис. 4.11. Экран Deploy Cluster Configuration в NDB
Cluster Auto-Installer Подобно экрану
Define Attributes,
этот экран показывает дерево процессов, которое организовано типом процесса.
Рядом с каждым процессом в дереве есть значок состояния, указывающий на
текущий статус процесса: связанный ( Этот экран также содержит две информационных панели, одна
показывает команды запуска или команды для запуска
выбранного процесса. Для некоторых процессов может требоваться
больше, чем одна команда, например, если инициализация необходима.
Другая показывает содержание конфигурационного файла, если таковой
имеется, для данного процесса, в настоящее время только процесс узла
управления имеет конфигурационный файл. Другие типы процесса формируются,
используя параметры командной строки, начиная процесс, или получая
конфигурационную информацию из узлов управления по мере необходимости в
режиме реального времени. Этот экран также содержит три кнопки, описанные в следующем списке: :
Проверьте, что конфигурация действительна. Создайте любые каталоги, требуемые
на хостах кластера, и распределите конфигурационные файлы на хостов.
Индикатор выполнения показывает, как далеко зашло развертывание.
:
Кластер развернут, как с ,
после которой все процессы кластера начаты в правильном порядке. Старт этих процессов может занять время. Если предполагаемое время
слишком большое, инсталлятор обеспечивает возможность отменить или продолжить
процедуры запуска. Индикатор выполнения указывает на текущий статус процедуры
запуска, как показано здесь: Рис. 4.12. Индикатор выполнения со статусом
процесса запуска узла Значки состояния процесса, примыкающие к дереву процесса, упомянутому
ранее, также обновляются в соответствии со статусом каждого процесса. :
После того, как кластер был запущен, можно остановить его, используя эту
кнопку. Как со стартом кластера, закрытие кластера не мгновенно и может
потребовать некоторого времени. Индикатор выполнения, подобный показанному во
время запуска кластера, показывает приблизительный текущий статус процедуры
закрытия кластера, как и значки состояния процесса,
примыкающие к дереву процессов. Auto-Installer производит файл Эта секция описывает веб-графический инсталлятор конфигурации, включенный
как часть NDB Cluster 7.6. Эта версия инсталлятора отличается во многих
отношениях от поставляемого с NDB 7.5 и более ранними выпусками, если вы
используете NDB 7.5, посмотрите
раздел 4.1.
Некоторые ключевые улучшения перечисляются здесь: Постоянное хранение в зашифрованном файле как альтернатива
основанному на cookie хранению, теперь используется по умолчанию. Безопасные связи (HTTPS) по умолчанию. Модернизированная библиотека безопасности Paramiko. Способность использовать пароли для зашифрованных закрытых ключей и
использовать различные параметры авторизации с различными хостами. Улучшенный информационный поиск хоста. Улучшенная конфигурация; продвинутые параметры конфигурации.
См.
раздел 3.4.2. Темы, обсужденные в следующих разделах, включают обзор инсталлятора и его
частей, программного обеспечения и других требований для управления
инсталлятором, навигации GUI и использования инсталлятора, чтобы настроить и
начать или остановить кластер NDB на одном или более компьютеров. NDB Cluster Auto-Installer составлен из двух компонентов. Фронтэнд это
клиент GUI, осуществленный как веб-страница, которая загружается и работает в
стандартном веб-браузере, таком как Firefox или Microsoft
Internet Explorer. Бэкэнд это серверный процесс
(
ndb_setup.py),
который работает на местной машине или на другом хосте, к которому у
вас есть доступ. Эти два компонента (клиент-сервер) общаются друг с другом используя
стандартные запросы HTTP и ответы. Бэкэнд может управлять программами
кластера NDB на любом хосте, где пользователь бэкэнда предоставил доступ.
Если программное обеспечение NDB Cluster находится на ином хосте, бэкэнд
полагается на SSH для доступа, пользуясь библиотекой Paramiko
для выполнения команд удаленно (см.
раздел 4.2.1). Эта секция предоставляет информацию о поддержанных операционных платформах
и программном обеспечении, требуемом программном обеспечении и других
предпосылках для управления NDB Cluster Auto-Installer. Поддерживаемые платформы.
NDB Cluster Auto-Installer доступен с NDB 8.0 для последних версий
Linux, Windows, Solaris и macOS. Для более подробной информации о поддержке
платформ для кластера NDB и NDB Cluster Auto-Installer см.
https://www.mysql.com/support/supportedplatforms/cluster.html. Поддержанные веб-браузеры.
Веб-инсталлятор поддерживается с последними версиями
Firefox и Microsoft Internet Explorer.
Это должно также работать с последними версиями Opera, Safari и Chrome,
хотя мы не полностью проверили на совместимость с этими браузерами. Необходимое программное обеспечение: сервер.
Следующее программное обеспечение должно быть установлено на хосте,
где выполняется Auto-Installer: Python 2.6 или выше.
Auto-Installer требует Python и стандартных библиотек. Если они еще не
стоят в системе, можно добавить их, используя диспетчер пакетов системы.
Иначе можно загрузить их с
http://python.org/download/. Paramiko 2 или выше.
Это требуется, чтобы общаться с удаленными хостами, использующими SSH.
Можно загрузить его с http://www.lag.net/paramiko/. Paramiko может также быть
доступным от диспетчера пакетов вашей системы. Pycrypto version 2.6 или выше.
Этот модуль криптографии требуется Paramiko и может быть установлен через
Все программное обеспечение в предыдущем списке включено в версию Windows
инструмента конфигурирования и не должно быть установлено отдельно. Библиотеки Paramiko и Pycrypto требуются, только если вы намереваетесь
развернуть узлы кластера NDB на удаленных хостах и не необходимы, если все
узлы находятся на том же самом хосте. Необходимое программное обеспечение: удаленные хосты.
Единственное программное обеспечение для удаленных хостов, где вы хотите
развернуть узлы кластера NDB, это сервер SSH, который обычно устанавливается
по умолчанию на системах Linux и Solaris.
Несколько альтернатив доступны для Windows, для обзора их см.
http://en.wikipedia.org/wiki/Comparison_of_SSH_servers.
Дополнительное требование, используя много хостов,
возможно подтвердить подлинность любому из удаленных хостов, использующих
SSH и надлежащие ключи или удостоверения пользователя, как обсуждено в
следующих нескольких параграфах: Идентификация и безопасность.
Три основных механизма безопасности или аутентификации для удаленного доступа
доступны Auto-Installer: SSH. Безопасная связь используется, чтобы позволить бэкэнду
выполнить действия на удаленных хостах. Поэтому сервер SSH должен работать на
удаленном хосте. Кроме того, у пользователя операционной системы,
управляющего инсталлятором, должен быть доступ к удаленному серверу с именем
пользователя и паролем или при помощи открытых и закрытых ключей. Вы никогда не должны использовать системного пользователя
HTTPS. Удаленная связь между фронтэндом веб-браузера и бэкэндом
не зашифрована по умолчанию, что означает, что информация, такая как пароль
пользователя SSH, передана как открытый текст, который является удобочитаемым
любому. Для коммуникации от удаленного клиента, которая будет зашифрована, у
бэкэнда должно быть сертификат, а фронтэнд должен общаться с бэкэндом,
используя HTTPS, а не HTTP. Предоставление возможности HTTPS достигается
наиболее легко посредством издания самоподписанного сертификата.
Как только он выпущен, необходимо удостовериться, что он используется.
Можно сделать это, запустив
ndb_setup.py
из командной строки с опциями
Типовой файл сертификата Auto-Installer сохраняет конфигурационный файл для данного кластера
Авторизация по сертификату.
Бэкэнд
ndb_setup.py
может выполнить команды на местном хосте, а также на удаленных хостах.
Это означает, что любой соединяющийся с бэкэндом может взять на себя
ответственность, как выполняются команды. Чтобы отклонить нежелательные связи
с бэкэндом, может требоваться сертификат для идентификации клиента.
В этом случае он должен быть выпущен пользователем, установлен в браузере и
сделан доступным для бэкэнда в целях идентификации. Можно выполнить это
требование (вместе с или вместо пароля или ключевой идентификации), запустив
ndb_setup.py с опцией
Нет никакой потребности для безопасной аутентификации, когда браузер клиента
работает на том же самом хосте, где Auto-Installer. См. раздел 7.12 и
Security. Интерфейс NDB Cluster Auto-Installer
составлен из нескольких страниц, каждая соответствует шагу в процессе
настройки и развертывания кластерп NDB. Эти страницы перечисляются здесь:
Welcome: Начните использовать Auto-Installer, приняв
решение формировать новый кластер NDB или
продолжить формировать существующий.
Define
Cluster: Установите основную информацию в целом, такую
как имя и хосты. Здесь можно также установить тип аутентификации SSH для
доступа к удаленным хостам в случае необходимости.
Define Hosts: Опознайте хосты, где вы намереваетесь
управлять процессами кластера NDB.
Define
Processes: Назначьте один или несколько процессов данного
типа или типов каждому хосту кластера.
Define Parameters: Конфигурация приписывает атрибуты для
процессов или типов процессов.
Deploy Configuration:
Разверните кластер с набором конфигурации,
запустите и остановите развернутый кластер. Эти меню показывают на всех экранах за исключением
Welcome.
Они обеспечивают доступ к параметрам настройки инсталлятора и информации.
Меню показывают
здесь более подробно: Рис. 4.13. Меню Settings в NDB Cluster Auto-Installer
: Сохраните свою конфигурационную информацию,
такую как имена хоста, данные и значения параметров, как cookie
в браузере. Когда этот параметр выбран, вся информация кроме любого пароля
SSH сохранена. Это означает, что можно оставить и перезапустить браузер и
продолжить работать над той же самой конфигурацией.
Этот выбор позволен по умолчанию. Пароль SSH никогда не сохранен, если вы используете его,
необходимо поставлять его в начале каждой новой сессии.
:
Показывать по умолчанию продвинутые параметры конфигурации,
где это возможно. После того, как включено, продвинутые параметры продолжают использоваться
в конфигурационном файле, пока они явно не изменяются или перезагружаются.
Это независимо от того, видимы ли в настоящее время продвинутые параметры в
инсталляторе, другими словами, выключение пункта меню не перезагружает
значения ни одного из этих параметров. Вы можете также переключить показ продвинутых параметров для отдельных
процессов на экране
Define Parameters. Этот выбор отключен по умолчанию.
: Запросить новые хосты автоматически для информации об
аппаратном ресурсе, чтобы предварительно наполнить много параметров
конфигурации. В этом случае предложенные значения не обязательны, но они
используются, если явно не изменены,
используя соответствующие опции редактирования в инсталляторе. Этот выбор позволен по умолчанию. Меню Рис. 4.14. Меню Help в NDB Cluster Auto-Installer Меню :
Покажите встроенное руководство пользователя. Это открыто в отдельном окне
браузера, так, чтобы оно могло использоваться одновременно с инсталлятором,
не прерывая технологический процесс. :
Откройте встроенное руководство пользователя для секции, описывающей
страницу, в настоящее время показываемую в инсталляторе. :
Откройте диалог, показывающий название инсталлятора и номер
версии NDB Cluster. Auto-Installer также обеспечивает контекстно-зависимую помощь в форме
всплывающих подсказок для большинства входных виджетов. Кроме того, названия большинства параметров конфигурации NDB связаны с их
описаниями в онлайн-документации.
Документация показана в отдельном окне браузера. Следующая секция обсуждает старт Auto-Installer.
Секции после нее описывают более подробно цель и функцию каждой
из этих страниц. Auto-Installer предоставляют вместе с программным обеспечением
NDB Cluster. Отдельные пакеты RPM и Существующая секция объясняет, как запустить инсталлятор.
Можно это сделать, вызвав
ndb_setup.py. Необходимо управлять
ndb_setup.py
как обычный пользователь; никакие специальные привилегии не необходимы.
Вы не должны выполнять управлять этой программой как пользователь
ndb_setup.py находится в
подкаталоге В Windows можно также запустить файл
setup.bat в каталоге установки
NDB Cluster. Когда вызван из командной строки, этот пакетный файл принимает
те же самые опции, как
ndb_setup.py.
ndb_setup.py
может быть запущен с любой из нескольких опций, которые затрагивают его
действие, но обычно достаточно позволить настройкам по умолчанию
использоваться, в этом случае можно запустить
ndb_setup.py
любым из следующих двух методов: Перейдите в каталог NDB Cluster Это работает независимо от операционной платформы. Перейдите в каталог NDB Cluster В Windows также можно перейти в каталог установки NDB Cluster
и активировать значок файла setup.bat.
В любом случае, как только вызван
ndb_setup.py, страница
Auto-Installer
Welcome
должна открыться в веб-браузере системы по умолчанию.
В противном случае необходимо быть в состоянии открыть страницу
В некоторых случаях можно хотеть использовать параметры настройки не по
умолчанию для инсталлятора, такие как определение HTTPS для связей или
другой порт для включенного веб-сервера Auto-Installer, в этом случае
необходимо вызвать
ndb_setup.py с опциями.
Те же самые опции запуска могут использоваться в системах Windows с файлом
setup.bat, поставляемым для
таких платформ в NDB Cluster. Это может быть сделано, используя командную
строку, но если вы хотите или должны начать инсталлятор с настольного или
файлового браузера, используя один или больше этих вариантов, также возможно
создать скрипт, затем дважды щелкнуть по значку файла в файловом браузере,
чтобы начать инсталлятор. В системах Linux вы, возможно, также должны были
бы сделать файл исполняемым. Если вы планируете использовать Auto-Installer
с удаленного хоста, необходимо использовать опцию
Экран Welcome
загружается в браузере по умолчанию, когда запускается
ndb_setup.py.
В первый запуск Auto-Installer (или если по некоторой другой причине нет
никаких существующих конфигураций), этот экран появляется
как показано здесь: Рис. 4.15. Экран Welcome NDB Cluster Auto-Installer,
первый запуск В этом случае единственный выбор кластера для конфигурации это новый
кластер, и обе кнопки Чтобы создать новую конфигурацию, введите и подтвердите пароль в
обеспеченных текстовых окнах. Когда это было сделано, можно нажать
Define Cluster,
где можно назначить имя. Если вы ранее создали один или более кластеров в Auto-Installer,
они перечисляются по имени. Этот пример показывает существующий кластер
Рис. 4.16. Экран Welcome в NDB Cluster Auto-Installer
с ранее созданным кластером mycluster-1 Чтобы рассмотреть конфигурацию и работать с этим кластером,
выберите кнопку рядом с его именем в списке, затем введите пароль, который
использовался, чтобы создать кластер. Когда вы сделали это правильно, можно
нажать Экран Define Cluster
появляется после экрана
Welcome
и используется для урегулирования общих свойств кластера. Общий вид экрана
Define Cluster: Рис. 4.17. Экран Define Cluster в NDB Cluster Auto-Installer Этот экран и последующие экраны также включают меню
Settings и Help,
которые описаны в этой секции, см.
здесь. Экран Define Cluster
позволяет вам устанавливать три вида свойств для кластера: свойства кластера,
свойства SSH и инсталляционные свойства. Свойства кластера, которые могут быть установлены на этом
экране, перечисляются здесь: Cluster name:
имя, которое определяет кластер, в этом примере это
Host list:
разграниченный запятой список из одного или более хостов, где процессы
кластера должны работать. По умолчанию это
Application type:
Выберите из следующего:
Не предназначено для производственных сред. :
Максимизируйте производительность для данных аппаратных средств. :
Максимизируйте производительность, максимизируя чувствительность к
тайм-аутам, чтобы минимизировать время, за которое должны быть обнаружены
зависшие процессы кластера. Write load:
Выберите уровень для ожидаемого количества записей
для кластера в целом. Можно выбрать любой из следующих уровней: :
До 100 транзакций записи в секунду. :
От 100 до 100 транзакций записи в секунду, это умолчание. :
До 1000 транзакций записи в секунду.
Свойства SSH описаны в следующем списке: Key-Based SSH:
Поставьте этот флажок, чтобы использовать доступ по ключу
для удаленного хоста. Если включено, ключевой пользователь и пароль должны
также быть заданы, иначе пользователь и пароль для
удаленного входа в систему необходимы. User:
Имя пользователя с доступом удаленного входа в систему. Password:
Пароль для удаленного пользователя. Key user:
Имя пользователя, для которого ключ действителен, если не то же самое,
как пользователь операционной системы. Key passphrase:
Пароль для ключа при необходимости. Key file:
Путь к файлу ключей. Умолчание Свойства SSH на этой странице относятся ко всем хостам в кластере.
Они могут быть отвергнуты для данного хоста, редактируя свойства хостов на
экране Define Hosts. Два инсталляционных свойства могут также быть установлены
на этом экране: Install MySQL Cluster:
Это определяет источник, из которого Auto-Installer
устанавливает NDB Cluster, если таковые имеются, на хосты кластера.
Возможные значения и их эффекты перечисляются здесь:
Open FW Ports:
Проверьте этот флажок, чтобы инсталлятор попытался открыть порты, требуемые
процессами кластера NDB на всех хостах. Следующие данные показывают страницу Define
Cluster с параметрами настройки для маленького испытательного
кластера со всеми узлами на Рис. 4.18. Экран Define Cluster в NDB Cluster Auto-Installer
для тестового кластера После создания желаемых параметров настройки можно сохранить
их к конфигурационному файлу и продолжить двигаться к экрану
Define Hosts, нажав кнопку
. Если вы выходите из инсталлятора без сохранения,
никакие изменения не внесены в конфигурационный файл. Экран Define Hosts
обеспечивает средство просмотра и определения нескольких ключевых свойств
каждого хоста кластера: Рис. 4.19. Экран Define Hosts в NDB Cluster Показанные свойства включают следующее: Host:
Имя или IP-адрес этого хоста Res.info:
Показывает Platform:
Операционная система или платформа Memory (MB):
Сумма RAM на этом хосте Cores:
Количество ядер процессора, доступных на этом хосте MySQL Cluster install directory:
Путь к каталогу, где программное обеспечение NDB Cluster устанавливается на
этом хосте, по умолчанию MySQL Cluster data directory:
Путь к каталогу, используемому для данных NDB Cluster, по умолчанию
DiskFree:
Свободное пространство на диске в байтах Для хостов с несколькими дисками показывают только пространство,
доступное на диске, используемом для каталога данных Этот экран также предоставляет расширенное представление каждого хоста,
которое включает следующие свойства: FDQN:
полностью компетентное доменное имя этого хоста, используемое инсталлятором,
чтобы соединиться с ним. Internal IP: Адрес IP, используемый
для связи с процессами кластера, работающими
на этом хосте, процессами, работающими в другом месте. OS Details:
Подробное имя операционной системы и информация о версии. Open FW:
Если этот флажок позволен, установщик пытается открыть порты
в брандмауэре хоста, необходимые процессам кластера. REPO URL:
URL репозитория MySQL NDB Cluster DOCKER URL: URL MySQL NDB CLuster
Docker image, для NDB 8.0 это
Install:
Если этот флажок позволен, Auto-Installer
пытается установить программное обеспечение NDB Cluster на этом хосте.
Расширенное представление показывают здесь: Рис. 4.20. Расширенное представление экрана Define
Hosts в NDB Cluster Все клетки редактируемые, за исключениями в столбцах
Host,
Res.info и
FQDN. Знайте, что получение информации от удаленных хостов может занять время.
Области, для которых не могла быть получена никакая информация, обозначаются
эллипсом. Можно повторить установку информации о ресурсе от одного или более
хостов, выбрав хосты в списке и затем нажать кнопку
Refresh selected host(s). Можно добавить один или более хостов, нажав кнопку
Add new host: Рис. 4.21. Диалог NDB Cluster Add Host Этот диалог включает следующие области: Host name:
список разделенных запятой значений из одного или более имен хоста,
IP-адресов или обоих. Они должны быть доступными от хоста, где
работает Auto-Installer. Host internal IP (VPN):
Если вы настраиваете кластер, чтобы работать на VPN или другой
внутренней сети, введите IP-адрес или адреса, используемые для контакта
с узлами кластера на других хостах. Key-based auth:
Если включено, позволяет основанную на ключе идентификацию.
Можно задать любую дополнительную необходимую информацию в
User,
Passphrase и
Key file. Ordinary login:
Получая доступ к этому хосту, использующему основанный на пароле логин,
введите соответствующую информацию в области
User и
Password. Open FW ports:
Выбор этого флажка позволяет попытку открыть любые порты, необходимые
процессам кластера в брандмауэре этого хоста. Configure installation:
Выбор этого позволяет Auto-Install пытаться настроить программное обеспечение
NDB Cluster на этом хосте. Чтобы сохранить новый хост и его свойства, нажмите
Add. Если вы хотите отменить изменения, нажмите
Cancel. Точно так же можно удалить один или более хостов, используя кнопку,
маркированную Когда вы удаляете хост, любой процесс, который
формировался для того хоста, также удален.
работает немедленно. Нет никакого диалога подтверждения. Если вы удаляете
хост по ошибке, необходимо повторно ввести его имя и свойства вручную,
используя . Если параметры пользователя SSH на экране
Define Cluster изменяются,
Auto-Installer пытается освежить информацию о ресурсе от любых хостов,
для которых отсутствует информация. Можно отредактировать название платформы хоста, информацию об аппаратном
ресурсе, инсталляционный каталог и каталог данных, щелкая по соответствующей
клетке в сетке, выбирая один или более хостов и нажимая кнопку, маркированную
Edit selected host(s).
Это заставляет появляться диалоговое окно, в котором эти области могут быть
отредактированы, как показано здесь: Рис. 4.22. Диалог Edit Hosts в NDB Cluster Auto-Installer Когда больше, чем один хост выбран, любые отредактированные значения
применяются ко всем выбранным хостам. Как только вы ввели всю желаемую информацию о хосте, можно использовать
кнопку
Define Processes,
где можно настроить процессы кластера NDB на одном или более хостах. Экран Define Processes
обеспечивает способ назначить узлы кластера NDB,
чтобы сгруппировать хосты: Рис. 4.23. Диалог Define Processes в NDB Cluster Auto-Installer Этот экран содержит дерево процессов, показывающее хосты кластера,
процессы на каждом, а также панель, которая показывает информацию о пункте,
в настоящее время выбранном в дереве. Когда к этому экрану получают доступ впервые для данного
кластера, набор процессов по умолчанию определяется для вас на основе числа
хостов. Если вы позже возвращаетесь к экрану
Define Hosts,
удаляете все хосты и добавляете новые, это также заставляет новый набор
процессов по умолчанию быть определенным. Процессы NDB Cluster имеют типы, описанные в этом списке: Узел управления. Выполняет задачи администрирования, такие
как остановка отдельных узлов данных, запрос статуса узла и кластера и
создания резервных копий. Исполняемый файл:
ndb_mgmd. Однопоточный узел данных.
Хранит данные и выполняет запросы. Исполняемый файл:
ndbd. Многопоточный узел данных.
Хранит данные и выполняет запросы с многократными рабочими потоками,
выполняющимися параллельно. Исполняемый файл:
ndbmtd. Узел SQL. Сервер MySQL для выполнения SQL-запросов к
Узел API. Клиент, получающий доступ к данным в
См. раздел 3.1. Процессы, показанные в дереве, пронумерованы последовательно по
типу для каждого хоста, например, Каждый узел управления, узел данных или процесс SQL должны быть
назначены на определенный хост и им не позволено работать ни на каком другом
хосте. Узел API может
быть назначен на единственный хост, но это не требуется. Вместо этого можно
назначить его на специальное предложение
, которое дерево также содержит в
дополнение к любым другим хостам, и которое действует как заполнитель для
процессов, которым позволяют работать на любом хосте.
Так можно только с процессами API. Добавление процессов.
Чтобы добавить новый процесс к данному хосту, щелкните правой кнопкой мыши по
входу того хоста в дереве, затем выберите
Add process, когда это появляется, или выберите
хост в дереве процесса и нажмите
ниже дерева процессов. Выполнение любого из этих действий открывает
диалог add process: Рис. 4.24. Диалог Add Process в NDB Cluster Auto-Installer Здесь можно выбрать из числа доступных типов процессов,
можно также ввести произвольное имя процесса, чтобы занять место
предложенного значения при желании. Удаление процессов.
Чтобы удалить процесс, выберите тот процесс в дереве и используйте кнопку
. Когда вы выбираете процесс в дереве процессов,
информация о том процессе показана в информационной панели, где можно
поменять имя процесса и возможно его тип. Можно изменить многопоточный узел
данных (
ndbmtd)
на однопоточный (
ndbd) или наоборот.
Никакие другие изменения типа процесса не позволены.
Если вы хотите внести изменение между какими-либо
другими типами процесса, необходимо удалить оригинальный процесс сначала,
затем добавить новый процесс желаемого типа. Подобно
Define Processes,
этот экран включает дерево процессов, для Define
Parameters оно
организовано процессом или типом узла в группы, маркированные
,
, и .
Информационная панель показывает информацию относительно пункта, в настоящее
время выбираемого. Экран Define
Attributes: Рис. 4.25. Экран Define Parameters в NDB Cluster Auto-Installer Show advanced configuration, когда включен,
делает расширенные настройки для узла данных и процессов узла SQL видимыми в
информационной панели. Можно также позволить это поведение глобально,
установив в Settings (см.
здесь). Можно отредактировать признаки для единственного процесса, выбрав тот
процесс из дерева, или для всех процессов того же самого типа в кластере,
выбрав одну из папок Рис. 4.26. Указание параметров процесса Признаки, значения которых могут быть отвергнуты, показывают в
информационной группе с кнопкой, имеющей знак "плюс". Эта кнопка
Все признаки конфигурации имеют предопределенные
значения, вычисленные инсталлятором на основе
таких факторов, как имя хоста, ID и тип узла и так далее.
В большинстве случаев эти значения можно оставить как есть.
Чтобы сделать нахождение информации легче, каждое название атрибута,
показанное в информационной панели, связано с описанием в документации
кластера NDB онлайн. Этот экран позволяет вам выполнять следующие задачи: Проверить команды запуска процесса
и конфигурационные файлы, которые будут применены. Распределить конфигурационные файлы, создав любые необходимые файлы и
каталоги на всех хостах кластера,
то есть, развернуть кластер. Запустить и остановить кластер. Экран Deploy Configuration: Рис. 4.27. Экран Deploy Configuration в NDB
Cluster Auto-Installer Подобно
Define Parameters,
этот экран показывает дерево процессов, которое организовано типом процесса.
Рядом с каждым процессом в дереве есть значок состояния, указывающий на
текущий статус процесса: связанный
( Этот экран также содержит две информационных панели, одна
показывает команды запуска процесса. Для некоторых процессов больше, чем одна
команда может требоваться, например, если инициализация необходима.
Вторая показывает содержание конфигурационного файла, если таковой имеется,
для данного процесса. Этот экран также содержит четыре кнопки: :
Нефункционально в этом выпуске, предназначается
для будущего выпуска.
:
Проверьте, что конфигурация действительна. Создайте любые каталоги, требуемые
на хостах кластера, и распределите конфигурационные файлы на хосты.
Индикатор выполнения показывает, как далеко развертывание зашло:
Рис. 4.28. Процесс развертывания кластера
:
Кластер развернут через ,
после чего все процессы кластера начаты в правильном порядке. Старт этих процессов может занять время. Если предполагаемое время
завершения слишком большое, инсталлятор обеспечивает возможность отменить
или продолжить процедуры запуска. Индикатор выполнения указывает на
текущий статус процедуры запуска: Рис. 4.29. Процесс запуска кластера Значки состояния процесса рядом с пунктами, показанными в дереве процесса
обновляются со статусом каждого процесса. Диалог подтверждения показывает, когда процесс запуска закончил работу: Рис. 4.30. Диалог Process Completed при запуске кластера
:
После того, как кластер был запущен, можно остановить его, используя это.
Как со стартом кластера, закрытие кластера не мгновенно и может потребовать
некоторого времени. Индикатор выполнения, подобный показанному во время
запуска кластера, показывает приблизительный текущий статус процедуры
закрытия кластера, как и значки состояния процесса,
примыкающие к дереву процесса.
Рис. 4.31. Процесс Cluster Shutdown Диалог подтверждения указывает, когда процесс закрытия завершен: Рис. 4.32. Диалог Process Completed Auto-Installer создает файл Эта секция покрывает методы установки для кластера NDB на Linux и других
подобных Unix операционных системах. В то время как следующие несколько
секций обращаются к операционной системе Linux, инструкции и процедуры,
данные там, должны быть легко приспосабливаемы на другие
подобные Unix платформы. Для инструкций по установке для систем Windows
посмотрите
раздел 4.4. На каждый хост NDB Cluster нужно установить правильные исполняемые
программы. Хост, управляющий узлом SQL, должен иметь MySQL Server
(mysqld).
Узлы управления требуют демона сервера управления
(
ndb_mgmd),
узлы данных требуют демона узла данных
daemon (
ndbd или
ndbmtd). Не надо ставить MySQL Server на
хостах узла управления и хостах узла данных. Рекомендуется, чтобы вы также
установили клиент управления
(
ndb_mgm) на хосте сервера управления. Установка NDB Cluster в Linux может быть сделана, используя предварительно
собранные объекты от Oracle (загружены как архив .tar.gz), с RPM-пакетами
(также доступны от Oracle) или из исходного текста. Все три этих метода
установки описаны ниже. Эта секция покрывает шаги, необходимые, чтобы установить правильные
исполняемые файлы для каждого типа узла кластера от предварительно собранных
пакетов от Oracle. Для подготовки кластера, используя предварительно собранные объекты,
первый шаг в процессе установки для каждого хоста кластера должен загрузить
архив с NDB Cluster downloads page.
Для нового 64-битного выпуска NDB 7.5 это
Если вы требуете свою сборку, см.
Installing MySQL Using a Development Source Tree. После завершения установки не запускайте ни один из исполняемых модулей.
Это надо сделать после конфигурации узлов (см.
раздел 4.5). Узлы SQL. На каждой из машин, определяемых, чтобы принять узлы SQL,
выполните следующие шаги как системный Проверьте Синтаксис для useradd и
groupadd может немного
отличаться в различных версиях Unix, или у них могут быть различные имена,
такие как adduser и
addgroup. Измените местоположение к каталогу, содержащему загруженный файл,
распакуйте архив и создайте символьную ссылку
Фактический файл и имена каталогов варьируются согласно номеру
версии кластера NDB. Измените местоположение к каталогу
Это производит случайный пароль для MySQL
Установите необходимые разрешения для сервера
MySQL и каталогов данных: Скопируйте скрипт запуска MySQL к соответствующему каталогу, сделайте
его выполнимым и установите его в автозапуск: Каталог скриптов запуска может измениться в зависимости от вашей
операционной системы и версии, например, в некоторых дистрибутивах Linux, это
Здесь мы используем Red Hat
chkconfig
для создания связей со скриптами запуска, используйте любые средства,
соответствующие этой цели на вашей платформе, например,
update-rc.d в Debian.
Помните, что предыдущие шаги должны быть повторены на каждой
машине, где узел SQL должен быть. Узлы данных.
Установка узлов данных не требует
mysqld.
Только исполняемый файл узла данных NDB Cluster
ndbd (один поток) или
ndbmtd (несколько потоков).
Эти объекты могут также быть найдены в архиве
Системный Измените местоположение к
Можно безопасно удалить каталог, созданный, распаковав загруженный архив и
файлы, которые он содержит, в
Измените местоположение к каталогу, в который вы скопировали файлы, и
сделайте их обоих исполняемыми: Предыдущие шаги должны быть повторены на каждом хосте узла данных. Хотя только один из исполняемых файлов узла данных требуется, чтобы
управлять узлом данных, мы показали вам, как установить
ndbd и
ndbmtd.
Мы рекомендуем, чтобы вы сделали это, устанавливая или модернизируя кластер
NDB, даже если вы планируете использовать только одного из них, так как
это сэкономит время. Каталог данных на каждой машине, принимающей узел данных, это
Узлы управления. Установка узла управления не требует
mysqld. Нужен только сервер
управления NDB Cluster (
ndb_mgmd),
вы, скорее всего, хотите установить также клиент управления
(
ndb_mgm). Оба этих объекта есть в архиве
Как системный Измените местоположение к
Измените местоположение к каталогу, в который вы скопировали файлы,
затем сделайте их обоих исполняемыми: В разделе
4.5 мы создаем конфигурационные файлы для всех узлов в нашем
примере кластера NDB. Эта секция покрывает шаги, необходимые, чтобы установить правильные
исполняемые файлы для каждого типа узла кластера NDB, используя пакеты RPM,
поставляемые Oracle, начиная с NDB 7.5.4. Для получения информации о RPM для
предыдущих версий кластера NDB посмотрите
здесь. Как альтернатива методу, описанному в этой секции, Oracle обеспечивает
MySQL Repositories для NDB Cluster 7.5.6 и позже, которые совместимы со
многими общими дистрибутивами Linux. Два хранилища, перечисленные здесь,
доступны для основанных на RPM дистрибутивов: Для дистрибутивов, использующих
yum или
dnf,
можно использовать MySQL Yum Repository for NDB Cluster. См.
Installing MySQL NDB Cluster Using
the Yum Repository. Для SLES можно использовать хранилище MySQL SLES Repository for
NDB Cluster. См.
Installing MySQL NDB Cluster Using the
SLES Repository. RPM доступны для 32-битных и для 64-битных платформ Linux.
Имена файлов для этих RPM используют следующий образец: Возможные значения для Таблица 4.2. Компоненты NDB Cluster RPM Единый архив (файл Можно извлечь отдельные файлы RPM из этого файла, используя
tar. Компоненты, требуемые, чтобы устанавливать три главных типа узлов кластера
NDB, даны в следующем списке: Узел управления:
Узел данных:
Узел SQL:
Кроме того, Версия NDB Cluster в именах файлов RPM (показанная здесь как
Узлы данных.
На компьютере, который должен принять узел данных NDB Cluster, необходимо
установить только Это устанавливает
ndbd и
ndbmtd в
Узлы SQL. Скопируйте Это устанавливает MySQL server
(mysqld) с поддержкой
Необходимо использовать версии этих RPM, выпущенные для кластера NDB,
выпущенные для стандартного сервера MySQL не оказывают поддержку для
Чтобы управлять узлом SQL (сервером MySQL), необходимо также установить
Это устанавливает клиент mysql
и другие программы клиента MySQL, такие как
mysqladmin и
mysqldump в
Узлы управления.
Чтобы установить сервер управления кластером NDB, необходимо использовать
Этот RPM устанавливает сервер управления
ndb_mgmd в каталог
Ранее
ndb_mgm
был установлен тем же самым RPM, используемым, чтобы установить сервер
управления. В NDB 7.5.4 и позже все программы клиента
См. здесь для получения общей информации об установке MySQL,
используя RPM, поставляемый Oracle. После установки из RPM все еще необходимо формировать кластер, см.
раздел 4.5.
Установка, используя RPM в старом стиле (NDB 7.5.3 и ранее).
Информация в остатке этой секции применяется
только к NDB 7.5.3 и ранее и обеспечивает шаги, необходимые,
чтобы установить правильные исполняемые файлы для каждого типа узла кластера
NDB, используя пакеты RPM старого стиля, как
поставляется Oracle до NDB 7.5.4. Имена файлов для этих RPM
используют следующий образец: Для кластера NDB возможно требуются два RPM: The Если у вас нет своего собственного клиентского приложения, способного
к управлению сервером MySQL, необходимо также получить и установить
Очень важно, чтобы у всех Cluster RPM
был тот же самый номер версии.
Узлы данных. На компьютере, который должен принять узел данных,
необходимо установить только Хотя это устанавливает все объекты кластера NDB, только программа
program
ndbd или
ndbmtd
(обе в Узлы SQL. На каждой машине, которая будет использоваться для
узла SQL, установите Это устанавливает MySQL server
(mysqld) с поддержкой
Чтобы управлять узлом SQL (сервером MySQL), необходимо также установить
Это устанавливает программу клиента
mysql. Узлы управления. Чтобы установить сервер управления кластера NDB,
необходимо использовать только Хотя этот RPM устанавливает много других файлов, только
сервер управления
ndb_mgmd (в каталоге
См. здесь для получения общей информации об установке MySQL,
используя RPM, поставляемый Oracle. Посмотрите
раздел 4.5. Секция предоставляет информацию об установке кластера NDB на Debian и
связанных дистрибутивах Linux, например, Ubuntu, используя файлы
Для NDB Cluster 7.5.6 и позже Oracle также предоставляет хранилище APT
Debian и другим дистрибутивам. Посмотрите
здесь. Oracle предлагает файлы инсталлятора Как только вы загрузили соответствующий файл
Можно также удалить его с использованием
Файл инсталлятора должен также быть совместим с большинством графических
диспетчеров пакетов Файл Эта секция предоставляет информацию о компилировании кластера NDB в Linux
и других подобных Unix платформах. Сборка кластера NDB аналогична сборке
стандартного MySQL Server, хотя это отличается по нескольким ключевым
отношениям, обсужденным здесь. Для получения общей информации о сборке MySQL
см. Installing MySQL from Source.
Для получения информации о компилировании кластера NDB на платформах Windows
посмотрите
раздел 4.4.2. Сборка NDB Cluster требует исходных текстов NDB Cluster.
Они доступны со страницы загрузок кластера NDB
https://dev.mysql.com/downloads/cluster/.
У заархивированного исходного файла должно быть имя, подобное
Опция Опция Для получения дополнительной информации о вариантах
CMake, определенных для сборки
кластера NDB, посмотрите
Options for Compiling NDB Cluster. После того, как вы выполните make &&
make install (или эквивалент в вашей системе), результат
подобен тому, что получено, распаковав предварительно собранный архив. Узлы управления. При сборке и запуске
make install
сервер управления и объекты клиента управления
(
ndb_mgmd и
ndb_mgm) будут по умолчанию в
Узлы данных. Единственный исполняемый файл, требуемый на хосте узла
данных, является
ndbd или
ndbmtd (
mysqld, например, не должен присутствовать на
хост-машине). По умолчанию, собирая из исходного текста, этот файл помещается
в каталог Собирая кластер NDB, никакие специальные опции не требуются для
сборки многопоточных модулей узла данных. Формирование
сборки с поддержкой Узлы SQL. Если вы собираете MySQL с поддержкой кластера
и выполняете стандартную установку (с использованием
make install от имени В
разделе 4.5 мы создаем конфигурационные файлы для всех узлов в нашем
примере кластера NDB. Эта секция описывает процессы установки для кластера NDB на хостах
Windows. Кластер NDB 7.5 для Windows можно скачать с
https://dev.mysql.com/downloads/cluster/.
Для получения информации об установке кластера NDB в Windows из архива
Oracle см.
раздел 4.4.1. Также возможно собрать и установить кластер NDB из исходных текстов в
Windows с помощью Microsoft Visual Studio. См.
раздел 4.4.2. Эта секция описывает базовую установку кластера NDB в Windows, используя
двоичный выпуск no-install NDB Cluster от Oracle,
используя ту же самую установку с 4 узлами, обрисованную в общих чертах в
начале этой секции (см. главу 4): Таблица 4.3. Адреса узлов в качестве примера Как на других платформах, главный компьютер кластера NDB, управляющий
узлом SQL, должен иметь MySQL Server
(mysqld.exe).
У вас должен также быть клиент MySQL
(mysql.exe)
на этом хосте. Для узлов управления и узлов данных не надо ставить
MySQL Server, однако, каждый узел управления требует демона сервера
управления (
ndb_mgmd.exe),
каждый узел данных требует демона узла данных
(
ndbd.exe или
ndbmtd.exe).
Для этого примера мы именуем
ndbd.exe
как исполняемый файл узла данных, но можно установить
ndbmtd.exe, многопоточную версию этой программы,
вместо этого, точно таким же образом. Необходимо также установить клиента
управления (
ndb_mgm.exe)
на хосте сервера управления. Эта секция покрывает шаги, необходимые, чтобы
установить правильные объекты Windows для каждого типа узла кластера NDB. Как с другими Windows-программами, исполняемые файлы кластера NDB имеют
расширение Для подготовки кластера NDB, используя архив Oracles
Можно управлять 32-битными модулями кластера NDB на 32-битных и 64-битных
версиях Windows, однако, 64-битные объекты кластера NDB могут использоваться
только на 64-битных версиях Windows. При использовании 32-битной версии
Windows на компьютере, у которого есть 64-битный CPU, необходимо использовать
32-битные объекты кластера NDB. Чтобы минимизировать количество файлов, которые должны быть загружены из
Интернета или скопированы между машинами, мы начинаем с компьютера, где вы
намереваетесь управлять узлом SQL. Узел SQL. Мы предполагаем, что вы поместили копию архива в каталог
Извлеките все файлы из архива. Extraction Wizard, объединенный с
Windows Explorer, достаточен для этой задачи. При использовании другой
программы архива, гпдо быть уверенными, что она извлекает все файлы и
каталоги из архива, и что она сохраняет структуру каталогов архива.
Когда вас попросят задать каталог назначения, укажите
Возможно установить объекты кластера NDB в каталогах кроме
Для MySQL Server с поддержкой NDB Cluster, чтобы работать как часть
кластера NDB, это должно быть запущено с опциями
Можно добавить другие опции, используемые этим MySQL Server
при желании (см.
Creating an Option File), но файл должен содержать эти
опции, как минимум. Сохраните этот файл как
Узлы данных. Узел данных на хосте Windows требует только
единственного исполняемого файла, одного из
ndbd.exe или
ndbmtd.exe.
Для этого примера мы предполагаем, что вы используете
ndbd.exe,
но те же самые инструкции применяются, используя
ndbmtd.exe.
На каждом компьютере, где вы хотите управлять узлом данных (компьютеры,
имеющие IP-адреса 198.51.100.30 и 198.51.100.40), создайте каталоги
Чтобы функционировать как часть кластера NDB, каждому узлу данных нужно
дать адрес или имя хоста сервера управления. Можно предоставить эту
информацию в командной строке, используя
Сохраните этот файл как Узел управления.
Единственная исполняемая программа, требуемая на компьютере, используемом для
узла управления NDB Cluster, это сервер управления
ndb_mgmd.exe.
Однако, чтобы управлять NDB Cluster
необходимо также установить программу клиента управления
ndb_mgm.exe
на той же самой машине, где сервер управления.
Определите местонахождение этих двух программ на машине, где вы загрузили и
распаковали архив Необходимо теперь создать два конфигурационных файла для использования
Местный конфигурационный файл, чтобы поставлять данные
конфигурации, определенные для самого узла управления. Как правило, этот файл
должен только указать местоположение глобального конфигурационного файла
кластера NDB (см. пункт 2). Чтобы создать этот файл, начните новый текстовый файл в Блокноте или
другом текстовом редакторе и напишите: Сохраните этот файл как текстовый
Глобальный конфигурационный файл, из которого узел управления может
получить конфигурационную информацию, управляющую NDB Cluster
в целом. Как минимум этот файл должен содержать секцию для каждого узла в
NDB Cluster и IP-адреса или имена хоста для узла управления и всех узлов
данных (параметр IP-адрес или имя хоста любых узлов SQL Память данных и память индекса ассигнуются каждому узлу данных
(параметры
Количество точных копий, используя параметр
Каталог, где каждый узел данных хранит его файл данных и файл журнала
и каталог, где узел управления держит свои файлы журнала (в обоих случаях
параметр Создайте новый текстовый файл, используя текстовый редактор, такой как
Блокнот, и введите следующую информацию: Сохраните этот файл как текстовый
Единственный символ наклонной черты влево ( Вместо этого можно использовать любое из следующего: По причинам краткости и четкости, мы рекомендуем, чтобы вы использовали
наклонные черты вправо в путях к каталогам, используемых в опциях
программы кластера NDB и конфигурационных файлах в Windows. Oracle предлагает собранные файлы NDB Cluster для Windows, которые должны
быть достаточны для большинства пользователей. Однако, при необходимости
также возможно собрать кластер NDB для Windows из исходного текста.
Процедура того, чтобы сделать это, почти идентична процедуре сборке
обычного MySQL Server для Windows и использует те же самые инструменты.
Однако, есть два существенных различия: Сборка NDB Cluster требует исходных текстов именно NDB Cluster.
Скачать их можно с https://dev.mysql.com/downloads/cluster/.
У заархивированного файла должно быть имя, подобное
Необходимо формировать сборку с использованием опций
Опция Для получения дополнительной информации о вариантах
CMake для сборки
NDB Cluster см.
Options for Compiling NDB Cluster. Как только процесс сборки завершен, можно создать архив Zip,
содержащий собранные объекты,
Installing MySQL Using a Standard Source Distribution
обеспечивает команды, которые должны выполнить эту задачу на системах
Windows. Объекты кластера NDB могут быть найдены в каталоге
Как только исполняемые файлы кластера NDB и необходимые конфигурационные
файлы существуют, выполнение начального запуска кластера является просто
запросом старта исполняемых файлов кластера NDB для всех узлов.
Каждый процесс узла кластера должен быть начат отдельно и на своем компьютере.
Узел управления должен запуститься первым, за ним узлы данных, а
затем любые узлы SQL. На хосте узла управления дайте следующую команду из
командной строки, чтобы начать процесс узла управления.
Вывод должен выглядеть примерно так: Процесс узла управления продолжает печатать вывод
на консоль. Это нормально, потому что узел управления не работает как служба
Windows. Если вы использовали кластер NDB на подобной Unix платформе, такой
как Linux, можно заметить, что поведение узла управления по умолчанию в этом
отношении в Windows это противоположность своего поведения на системах Unix,
где это работает по умолчанию как процесс демона Unix. Это поведение также
верно для процессов узла данных NDB Cluster в Windows.
Поэтому не закрывайте окно, в котором работает
ndb_mgmd.exe,
это закроет процесс узла управления. См.
раздел 4.4.4
о том, как установить и управлять процессами кластера NDB
как службами Windows. Необходимая опция Узел управления NDB Cluster кэширует данные конфигурации из файла
Не надо использовать любой из этих вариантов в файле
Для получения дополнительной информации о вариантах, которые могут
использоваться с
ndb_mgmd, см. разделы
6.4 и
6.32. На каждом из хостов узла данных управляйте командой, которая, как
показывают здесь, запустила процессы узла данных: В каждом случае первая строка вывода
процесса узла данных должна напомнить то, что показывают в предыдущем примере
и сопровождается дополнительными строками. Как с процессом узла управления,
это нормально, потому что узел данных не работает как служба Windows. Поэтому
не закрывайте консоль, в которой работает процесс узла данных.
Для получения дополнительной информации посмотрите
раздел 4.4.4. Пока не запускайте узел SQL: он не может соединиться с кластером,
пока узлы данных не закончили запуск, что может занять время. Вместо этого в
новой консоли на хосте узла управления запустите клиент управления
ndb_mgm.exe,
который должен быть в Когда запрос Команды, данные в клиенте управления, нечувствительны
к регистру, мы используем верхний регистр в качестве канонической формы этих
команд, но вы не обязаны соблюдать это соглашение, вводя их в
ndb_mgm. См.
раздел 7.2. Вывод, произведенный
Можно оставить работающим
ndb_mgm.exe,
это не оказывает негативного влияния на исполнение кластера NDB, и мы
используем его на следующем шаге, чтобы проверить, что узел SQL связан с
кластеромпосле того, как вы его запустите. На компьютере, определяемом как хост узла SQL, откройте консоль и
перейдите в каталог, где вы распаковали объекты кластера NDB (если вы
следуете нашему примеру, это Запустите узел SQL, вызвав
mysqld.exe
из командной строки: Опция В консоли, где работает клиент управления
(
ndb_mgm.exe)
на хосте узла управления, введите команду
Можно также проверить, что узел SQL связан с
NDB Cluster в клиенте mysql
(mysql.exe), используя запрос
Необходимо теперь быть готовым работать с объектами базы данных и данными,
используя кластер NDB. См.
раздел 4.7. Можно также установить
ndb_mgmd.exe,
ndbd.exe и
ndbmtd.exe как сервис Windows. См.
раздел 4.4.4). Как только вы удовлетворены, что кластер NDB работает, как надо,
можно установить узлы управления и узлы данных как службы Windows, так, чтобы
эти процессы были начаты и остановлены автоматически каждый раз вместе с
Windows. Это также позволяет управлять этими процессами из командной строки с
соответствующими командами
SC START и
SC STOP
или с использованием графической утилиты Windows
Services.
NET START и
NET STOP также пригодны. Устанавка программ как служб Windows обычно должна делаться, используя
учетную запись с правами Administrator. Чтобы установить узел управления как сервис Windows, вызовите
ndb_mgmd.exe
из командной строки с опцией
Устанавливая программу кластера NDB как службу Windows, необходимо всегда
определять полный путь, иначе сервисная установка может потерпеть неудачу с
ошибкой The system cannot find
the file specified. Опция Теперь вы в состоянии начать и остановить сервер управления: При использовании NET
можно также начать или остановить сервер управления как службу Windows,
используя описательное имя, как показано здесь: Обычно более просто определить короткое сервисное название или разрешить
сервисному названию по умолчанию использоваться, устанавливая сервис, а затем
ссылаться на имя, запуская или останавливая сервис.
Чтобы определить сервисное имя, кроме
Теперь вы в состоянии начать и остановить сервер управления: Чтобы удалить сервис узла управления, используйте
SC DELETE Альтернативно, вызовите
ndb_mgmd.exe с опцней
Если вы установили сервис, используя сервисное название кроме умолчания,
передайте сервисное название как значение
ndb_mgmd.exe
Установка процесса узла данных как службы Windows может быть сделана
подобным способом, используя опцию
Теперь можно начать или остановить узел данных как
показано в следующем примере: Чтобы удалить сервис узла данных, используйте
SC DELETE
Или вызовите
ndbd.exe с опцией
Как с
ndb_mgmd.exe (и
mysqld.exe), устанавливая
ndbd.exe как сервис Windows,
можно также определить название сервиса как значение
Если вы определили сервисное название, устанавливая сервис узла данных,
можно использовать это имя, удаляя его: Альтернативно, можно передать сервисное название как значение опции
Установка узла SQL как службы Windows, начиная, останавливая и удаляя
сервис, сделана подобным способом, используя
mysqld
В этой секции мы обсуждаем ручную конфигурацию установленного кластера
NDB, создавая и редактируя конфигурационные файлы. NDB Cluster также предоставляет инсталлятор GUI, который может
использоваться, чтобы выполнить конфигурацию без потребности отредактировать
текстовые файлы в отдельном приложении.
Для получения дополнительной информации посмотрите
раздел 4.1. Для нашего кластера NDB с четырьмя хостами и с четырьмя узлами (см.
здесь) необходимо написать четыре конфигурационных файла, по одному
на хост узла. Каждый узел данных или узел SQL требует файл
См.
раздел 5.3.3. Узлу управления нужен файл Формирование узлов данных и узлов SQL.
Файл Мы показываем vi, но любой
текстовый редактор должен работать точно так же. Для каждого узла данных и узла SQL в нашей установке в качестве примера
Сохраните этот файл и выйдите из текстового редактора.
Сделайте это для машин узлов данных A,
B и узла SQL. Как только вы начали процесс mysqld
с параметрами Формирование узла управления. Первый шаг в формировании узла
управления должен создать каталог, в котором конфигурационный файл может быть
найден, а затем создать сам файл. Например (работая как
Для нашей представительной установки файл
БД После того, как все конфигурационные файлы были созданы, и эти минимальные
опции были определены, вы готовы возобновить старт кластера проверяя, что все
процессы работают. Мы обсуждаем, как это сделано в
разделе 4.6. Для более подробной информации о доступных параметрах NDB Cluster
и их использовании посмотрите
раздел 5.3 и
главу 5. Для конфигурации кластера NDB в том, что
касается создания резервных копий, посмотрите
раздел 7.3.3. Порт по умолчанию для узлов управления 1186,
порт по умолчанию для узлов данных 2202. Однако, кластер может автоматически
ассигновать порты для узлов данных из тех, которые свободны. Старт кластера не очень трудный после того, как это сформировалось.
Каждый процесс узла кластера должен быть начат отдельно, и на хосте, где он
работает. Узел управления должен начинаться первым, затем узлы данных и
наконец узлы SQL: На хосте управления дайте следующую команду из системной
оболочки, чтобы начать процесс узла управления: Первое время, когда это начато,
ndb_mgmd
должно быть сказано, где найти его конфигурационный файл, используя опцию
Для дополнительных опций, которые могут использоваться с
ndb_mgmd, см.
раздел 6.32
. На каждом из хостов узла данных управляйте этой командой, чтобы
запустить
ndbd: Если вы использовали файлы RPM, чтобы установить MySQL на хосте
кластера, где должен быть узел SQL, вы можете использовать поставляемый
скрипт запуска, чтобы начать серверный процесс MySQL на узле SQL.
Если все подходит, а кластер был настроен правильно, кластер должен теперь
быть готов к эксплуатации. Можно проверить это, вызвав клиент узла управления
ndb_mgm.
Вывод должен быть похож на показанный здесь, хотя вы могли бы видеть
некоторые незначительные различия в зависимости от точной версии MySQL,
которую вы используете: На узел SQL ссылаются здесь как на
IP-адрес, показанный для данноого NDB Cluster SQL или другого узла API в
выводе Необходимо теперь быть готовым работать с базами данных, таблицами и
данными в NDB Cluster. См.
раздел 4.7. Информация в этой секции относится к NDB Cluster
на платформах Unix и Windows. Работа с таблицами базы данных и данными в NDB Cluster
не отличается от выполнения этого в стандартном MySQL. Есть два ключевых
пункта, которые надо иметь в виду: Для таблицы, которая будет копироваться в кластере,
это должно использовать
Альтернативно, для существующей таблицы, которая использует другой
механизм хранения, надо использовать
Каждая таблица Если вы импортируете таблицы из существующей базы данных, используя
mysqldump,
можно открыть скрипт SQL в текстовом редакторе и добавить опцию
Получающийся файл Необходимо удостовериться, что MySQL использует
Это должно быть сделано для определения каждой
таблицы, которая должна быть частью сгруппированной базы данных.
Самый легкий способ достигнуть этого состоит в том, чтобы сделать
поиск и замену в файле, который содержит определения, и заменить все
Предположим, что вы уже создали базу данных
Очень важно иметь в виду, что предыдущая команда должна быть выполнена на
хосте, где узел SQL работает (в этом случае на машине с IP-адресом
Чтобы создать копию всей базы данных Если вы сохранили файл в другом месте,
отрегулируйте предыдущие инструкции соответственно. Выполнение Мы просто используем пользователя сервера MySQL
Стоит принять во внимание, что узлы кластера
не
используют систему привилегии MySQL, получая доступ друг к другу.
Создание или изменение учетных записей пользователей MySQL (включая
Если вы не изменили Выбор базы данных и выполнение
SELECT для
таблицы в той базе данных также достигаются обычным способом: Запросы, которые используют MySQL, могут использовать стандартный API
для доступа к таблицам
Мы предполагаем, что процесс, работающий на веб-сервере, может достичь
IP-адреса узла SQL. Подобным способом можно использовать MySQL C API, Perl-DBI,
Python-mysql или MySQL Connectors, чтобы выполнить задачи определения данных
и манипуляции, как обычно в MySQL. Чтобы закрыть кластер, введите следующую команду
на машине с узлом управления: Опция Чтобы перезапустить кластер на платформах Unix,
управляйте этими командами: На хосте управления
( На каждом из хостов узла данных
( Используйте клиент
ndb_mgm,
чтобы проверить, что оба узла данных запущены успешно. На хосте SQL ( В Windows, предполагая, что вы установили все процессы кластера NDB как
службы Windows, используя сервисные названия по умолчанию (см.
раздел 4.4.4
), можно перезапустить кластер следующим образом: На хосте управления ( На каждом из хостов узла данных
( На хосте узла управления используйте клиент
ndb_mgm,
чтобы проверить, что узел управления и оба узла данных запущены успешно (см.
раздел 4.4.3). На хосте узла SQL ( В производственном окружении обычно нежелательно закрывать кластер
полностью. Во многих случаях, делая изменения конфигурации или выполняя
модернизации аппаратных средств кластера или программного обеспечения,
которые требуют закрывающихся отдельных хост-машин, возможно сделать это,
не закрывая кластер в целом, выполняя
катящийся перезапуск. См.
раздел 7.5. Следующие разделы предоставляют информацию о модернизации и
понижении кластера NDB 7.5 и 7.6. Эта секция предоставляет информацию о совместимости между различными
NDB Cluster 7.5 относительно выполнения модернизаций, а также матриц
совместимости и примечаний. Дополнительная информация может также быть
найдена здесь относительно снижений от NDB 7.5 до предыдущего ряда выпусков
NDB. Необходимо уже быть знакомым с установкой и настройкой кластера NDB до
попытки модернизации или снижения. См.
главу 5. Операции по схеме, включая запросы SQL DDL, не могут быть выполнены в то
время, как любые узлы данных перезапускаются, и таким образом во время
модернизации онлайн или снижения кластера. Для другой информации относительно
катящейся процедуры перезапуска, используемой, чтобы выполнить модернизацию
онлайн, посмотрите
раздел 7.5. Только совместимость между версиями MySQL относительно
Таблица предоставляет информацию о модернизации кластера NDB и
совместимости снижения среди различных выпусков NDB 7.5.
Дополнительные примечания о модернизациях и снижениях к, от, или в NDB
Cluster 7.5 могут быть найдены после таблицы. Рис. 4.33. Модернизация кластера NDB и совместимость снижения
для кластер MySQL NDB 7.5 Поддержка версии. Следующие версии кластера NDB поддерживаются для
модернизаций выпусков GA NDB Cluster 7.5 (7.5.4 и выше): NDB Cluster 7.4 GA releases (7.4.4 и выше) NDB Cluster 7.3 GA releases (7.3.2 и выше) NDB Cluster 7.2 GA releases (7.2.4 и выше) Известные проблемы. Следующие проблемы, которые происходят
модернизируя до или между выпусками NDB 7.5: Модернизируя от NDB 7.5.2 или 7.5.3 к более поздней версии,
mysqld с опциями
Когда работает с опцией Работа по модернизации, которая потерпела неудачу по этим причинам,
может быть выполнена следующим образом: Выполните катящийся перезапуск всего кластера Удалите все файлы Выполните mysql_upgrade.
Bug #81689, Bug #82724, Bug #24521927, Bug #23518923 Во время модернизации онлайн от кластера NDB 7.3 до NDB 7.4
(или позже) сбои нескольких узлов данных с более низкой версией во время
местных контрольных точек (LCP) и только до модернизации этих узлов,
привели к дополнительным сбоям узла после модернизации.
Это происходило из-за непрекращающихся элементов протокола
Начиная с NDB 7.5.2, таблица
Модернизируя предыдущий выпуск до NDB 7.5.2 или позже, можно использовать
См.
раздел 8.4. Модернизации онлайн от предыдущих версий кластера NDB до NDB
7.5.1 не были возможны из-за недостающих записей в матрице, используемой,
чтобы проверить совместимость модернизации между версиями (Bug #22024947). Также в NDB 7.5.1, mysql_upgrade
не модернизировал схему Эта секция предоставляет информацию о совместимости между различными
NDB Cluster 7.6 относительно выполнения модернизаций и снижениями, а также
матрицы совместимости и примечания. Дополнительная информация может также
быть найдена здесь относительно снижений от NDB 7.6 до предыдущего ряда
выпусков NDB. Необходимо уже быть знакомы с установкой и конфигурацией
кластера NDB до попытки модернизации или снижения. См.
главу 5. Таблица предоставляет информацию о модернизации кластера NDB и
совместимости снижения среди различных выпусков NDB 7.6. Дополнительные
примечания о модернизациях и снижениях к, от, или в NDB Cluster 7.6
могут быть найдены после таблицы. Рис. 4.34. Модернизация кластера NDB и совместимость с
MySQL NDB Cluster 7.6 Поддержка версии. Следующие версии кластера NDB поддерживаются для
модернизаций версий GA NDB Cluster 7.6 (7.6.6 и выше): NDB Cluster 7.5 GA releases (7.5.4 и выше) NDB Cluster 7.4 GA releases (7.4.4 и выше) NDB Cluster 7.3 GA releases (7.3.2 и выше) Известные проблемы. Следующие проблемы происходят, модернизируя до,
понижая от или между выпусками NDB 7.6: Изменение формата Disk Data file.
Из-за изменений в формате, модернизация до или понижение от любой из версий,
перечисленных здесь, требует начального перезапуска узла каждого узла данных:
NDB 7.6.2 NDB 7.6.4 Чтобы избежать проблем, касающихся старого формата, необходимо воссоздать
любые существующие табличные пространства и файла журнала отмен,
модернизируя. Можно сделать это, выполнив начальный перезапуск каждого узла
данных (то есть, используя опцию
При использовании таблиц Disk Data снижение от
любой версии NDB 7.6
до любого NDB 7.5 или более раннего выпуска требует, чтобы вы перезапустили
все узлы данных с опцией
Изменения в IndexMemory. Если вы понижаете от NDB 7.6 до NDB 7.5
(или ранее), необходимо установить явное значение для
Модернизация до NDB 7.6.4 или позже от более раннего выпуска или понижение
от NDB 7.6.4 или позже к более раннему выпуску, требуют чистки с
пересозданием файловой системы узла данных Когда такой перезапуск выполняется как часть модернизации NDB 7.6.4 или
позже, любые существующие файлы LCP проверяются на присутствие LCP
Необходимо также знать, что никакая такая защита невозможна, понижая от
NDB 7.6.4 или позже к выпуску до NDB 7.6.4.
Глава 4. Установка NDB Cluster
Узел
IP-адрес Узел управления (
mgmd) 198.51.100.10 Узел SQL (mysqld
) 198.51.100.20 Узел данных "A"
(
ndbd) 198.51.100.30 Узел данных "B"
(
ndbd)
198.51.100.40 hosts
(обычно /etc/hosts
в Linux и Unix,
C:\WINDOWS\system32\drivers\etc\hosts
в
Windows) для обеспечения средства сделать поиск хоста,
если такой доступен./etc/hosts
во время установки. Рассмотрите две машины с именами хоста
ndb1
и ndb2
,
оба в сетевом домене cluster
. Red Hat Linux
(включая некоторые производные, такие как CentOS и Fedora)
помещает следующие записи в эти файлы
/etc/hosts
:
#ndb1
/etc/hosts
:
127.0.0.1 ndb1.cluster ndb1 localhost.localdomain localhost
#ndb2 /etc/hosts
:
127.0.0.1 ndb2.cluster ndb2 localhost.localdomain localhost
/etc/hosts
:
#ndb1
/etc/hosts
:
127.0.0.1 localhost
127.0.0.2 ndb1.cluster ndb1
#ndb2 /etc/hosts
:
127.0.0.1 localhost
127.0.0.2 ndb2.cluster ndb2
ndb1
маршрутизирует
ndb1.cluster
к кольцевому IP-адресу, но получает
общественный IP-адрес от DNS для ndb2.cluster
,
где ndb2
маршрутизирует
ndb2.cluster
к кольцевому IP-адресу, но получает
общественный адрес для ndb1.cluster
.
Результат состоит в том, что каждый узел данных соединяется с сервером
управления, но не может сказать, когда любые другие узлы данных соединились,
и таким образом, узлы данных, кажется, висят, стартуя.localhost
и другие имена хоста или IP-адреса в
config.ini
.
По этим причинам, решение в таких случаях (кроме как использовать IP-адреса
для всех записей
HostName
в
config.ini
) это
удалить полностью компетентные имена хоста из
/etc/hosts
и использовать их в
config.ini
для всех хостов кластера.world
, которая доступна для скачивания с
веб-сайта MySQL (см. https://dev.mysql.com/doc/index-other.html).
Мы предполагаем, что у каждой машины есть достаточная память для управления
операционной системой, необходимыми процессами кластера NDB и (на узлах
данных) хранения базы данных.
4.1. NDB Cluster Auto-Installer (NDB 7.5)
4.1.1. Требования NDB Cluster Auto-Installer
root
для
удаленного доступа, поскольку это чрезвычайно опасно. Кроме того,
mysqld
не может обычно запускаться от имени root
.
По этим и другим причинам необходимо обеспечить доступ SSH
для обычного пользователя на целевой системе, а не для системного
root
. См.
How to Run MySQL as a Normal User.--use-https
и
--cert-file
.--ca-certs-file
.
4.1.2. Применение NDB Cluster Auto-Installer
Запуск NDB Cluster Auto-Installer
mysql
, root
или
Administrator, это может вызвать сбой установки.bin
установочного каталога
NDB Cluster, обычно это
/usr/local/mysql/bin
в Linux или
C:\Program Files\MySQL\MySQL Server 5.6\bin
в
Windows, но это может измениться согласно тому, где программное обеспечение
NDB Cluster устанавливается в вашей системе.bin
и вызовите
его из командной строки без любых дополнительных аргументов:
shell>
ndb_setup
bin
(например, подойдут Windows Explorer в
Windows, Konqueror, Dolphin или Nautilus в Linux) и
активируйте (обычно дважды щелкая) файл
ndb_setup.py. Это работает в Windows
и должно работать с наиболее распространенными рабочими столами Linux.
Экран Welcome в NDB Cluster Auto-Installer
Экран Define Cluster NDB Cluster Auto-Installer
MyCluster
.127.0.0.1
. Если вы добавляете удаленные хосты,
необходимо быть в состоянии соединиться с ними, используя поставляемые
SSH Credentials.
Экран Define Hosts NDB Cluster Auto-Installer
Экран Define Processes NDB Cluster Auto-Installer
NDB
.
Исполняемый файл: mysqld
.NDB
посредством API NDB или другого клиента низкого уровня API, а не при помощи
SQL. Посмотрите MySQL NDB Cluster API Developer Guide.SQL node 1
,
SQL node 2
и так далее,
чтобы упростить идентификацию.
Экран Define Attributes NDB Cluster Auto-Installer
Экран Deploy Cluster в NDB Cluster Auto-Installer
CONNECTED
),
запускается (STARTING
), работает
(STARTED
), останавливается
(STOPPING
) или отключен
(NO_CONTACT
).
Символ зеленый, если процесс связан или работает,
желтый, если это начинается или останавливается, красный, если процесс
остановлен, или сервер управления не может связаться.my.cnf
,
содержащий подходящие опции для каждого процесса
mysqld кластера.
4.2. NDB Cluster Auto-Installer (NDB 7.6)
4.2.1. Требования NDB Cluster Auto-Installer
pip install cryptography
.
Если pip
не устанавливается, и модуль недоступен
с использованием пакета вашей системы, можно загрузить его с
https://www.dlitz.net/software/pycrypto/.root
на удаленный доступ, поскольку это
чрезвычайно опасно. Кроме того,
mysqld
не может обычно выполняться как root
.
По этим и другим причинам необходимо обеспечить параметры доступа
SSH для обычного пользователя на целевой системе, а не для системного
root
. См.
How to Run MySQL as a Normal User.
--use-https
(-S
) и
--cert-file
(-c
).cfg.pem
включен и используется по умолчанию. Этот файл расположен в каталоге
mcc
в каталоге установки, в Linux
полный путь к файлу обычно
/usr/share/mysql/mcc/cfg.pem
.
В Windows это обычно C:\Program
Files\MySQL\MySQL Server 5.7\share\mcc\cfg.pem
.
Для целей тестирования можно просто запустить инсталлятор с опцией
-S
, чтобы
использовать связь HTTPS между браузером и бэкэндом.mycluster01
как
mycluster01.mcc
в корневом каталоге пользователя, вызвавшего
ndb_setup.py.
Этот файл зашифрован с паролем, поставляемым пользователем (используя
Fernet), потому что HTTP передает пароль открытым текстом,
сильно рекомендуется, чтобы вы всегда использовали
связь HTTPS, чтобы получить доступ к Auto-Installer.--ca-certs-file
(-a
).
4.2.2. Применение NDB Cluster Auto-Installer
Меню Settings и Help в NDB Cluster Installer
Запуск NDB Cluster Auto-Installer
.deb
,
содержащие только Auto-Installer,
также доступны для многих дистрибутивов Linux. См.
главу 4.mysql
, root
или
Administrator, это приведет к ошибке.bin
каталога установки NDB Cluster,
как правило, это
/usr/local/mysql/bin
в Linux или
C:\Program Files\MySQL\MySQL Server 5.7\bin
в
Windows. Это может измениться согласно тому, где программное обеспечение NDB
Cluster устанавливается на вашей системе и методу установки.
bin
в терминале и вызовите файл
из командной строки без любых дополнительных аргументов:
shell>
ndb_setup.py
Running out of install dir: /usr/local/mysql/bin
Starting web server on port 8081
URL is https://localhost:8081/welcome.html
deathkey=627876
Press CTRL+C to stop web server.
The application should now be running in your browser.
(Alternatively you can navigate to https://localhost:8081/welcome.html to start it)
bin
в файловом браузере (таком как Windows Explorer в
Windows, Konqueror, Dolphin или Nautilus в Linux) и
активируйте (обычно дважды щелкая) файл
ndb_setup.py. Это работает в Windows
и должно работать с наиболее распространенными рабочими столами в Linux.http://localhost:8081/welcome.html
или
https://localhost:8081/welcome.html
вручную.-S
. См.
раздел 6.27.
Экран Welcome в NDB Cluster Auto-Installer
mycluster-1
:
Экран Define Cluster в NDB Cluster Auto-Installer
mycluster-1
. Имя определяется на предыдущем
экране и не может быть изменено здесь.127.0.0.1
.
Если вы добавляете удаленные хосты, необходимо быть в состоянии соединиться с
ними, используя параметры, поставляемые как свойства SSH.~/.ssh/id_rsa
.
DOCKER
: Попытайтесь установить MySQL
Cluster Docker image из
https://hub.docker.com/r/mysql/mysql-cluster/
.REPO
: Попытайтесь установить NDB
Cluster из MySQL Repositories.BOTH
: Попытайтесь установить Docker
image или программное обеспечение от хранилища,
отдав предпочтение хранилищу.NONE
:
Не устанавливайте программное обеспечение NDB Cluster на
хостах, это умолчание.localhost
:
Экран Define Hosts в NDB Cluster Auto-Installer
OK
,
если установщик смог получить информацию ресурса от этого хоста/usr/local/bin
/var/lib/mysql-cluster
mysql/mysql-cluster:8.0
.Добавление и удаление хостов
Экран Define Processes в NDB Cluster Auto-Installer
NDB
. Исполняемый файл:
mysqld.NDB
посредством API NDB или другого клиента низкого уровня API, а не при
помощи SQL. Посмотрите MySQL NDB Cluster API Developer Guide.SQL node 1
,
SQL node 2
и так далее, чтобы упростить идентификацию.
Экран Define Parameters в NDB Cluster Auto-Installer
Экран Deploy Configuration в NDB Cluster Auto-Installer
CONNECTED
), запускается
(STARTING
), работает
(STARTED
), остановлен
(STOPPING
) или отсоединен
(NO_CONTACT
).
Символ зеленый, если процесс связан или работает,
желтый, если это стартует или останавливается, красный, если процесс
остановлен, или сервер управления не может связаться.config.ini
,
содержащий параметры узла NDB для каждого узла управления, а также файл
my.cnf
, содержащий подходящие опции для каждого
процесса mysqld в кластере.
Никакие конфигурационные файлы не создаются для узлов данных или узлов API.
4.3. Установка NDB Cluster в Linux
4.3.1. Установка двоичного NDB Cluster в Linux
mysql-cluster-gpl-7.5.17-linux-glibc2.12-x86_64.tar.gz
.
Мы предполагаем, что вы поместили этот файл на каждую машину в каталог
/var/tmp
.root
:/etc/passwd
и
/etc/group
, чтобы узнать, есть ли уже
группа и пользователь mysql
. Некоторые версии OS
создают их как часть процесса установки операционной системы. Если они не
присутствуют, создайте новую группу mysql
и в
ней пользователя mysql
:
shell>
groupadd mysql
shell> useradd -g mysql -s /bin/false mysql
mysql
к каталогу
mysql
.
shell>
cd /var/tmp
shell> tar -C /usr/local -xzvf mysql-cluster-gpl-7.5.17-linux-glibc2.12-x86_64.tar.gz
shell> ln -s /usr/local/mysql-cluster-gpl-7.5.17-linux-glibc2.12-x86_64 /usr/local/mysql
mysql
и настройте системные базы данных, используя
mysqld
--initialize
:
shell>
cd mysql
shell> mysqld --initialize
root
. Если вы не
хотите, чтобы случайный пароль был произведен, можно подставить
--initialize-insecure
вместо
--initialize
. В любом случае необходимо
смотреть Initializing the Data Directory
для получения дополнительной информации прежде, чем выполнить этот
шаг. См. также
mysql_secure_installation
.
shell>
chown -R root .
shell> chown -R mysql data
shell> chgrp -R mysql .
shell> cp support-files/mysql.server /etc/rc.d/init.d/
shell> chmod +x /etc/rc.d/init.d/mysql.server
shell> chkconfig --add mysql.server
/etc/init.d
..tar.gz
.root
(то есть, после использования
sudo,
su root или эквивалент вашей
системы для того, чтобы временно принять привилегии системного
администратора), выполняют следующие шаги, чтобы установить объекты узла
данных на хостах узла данных:/var/tmp
и распакуйте
ndbd и
ndbmtd из архива в
/usr/local/bin
:
shell>
cd /var/tmp
shell> tar -zxvf mysql-cluster-gpl-7.5.17-linux-glibc2.12-x86_64.tar.gz
shell> cd mysql-cluster-gpl-7.5.17-linux-glibc2.12-x86_64
shell> cp bin/ndbd /usr/local/bin/ndbd
shell> cp bin/ndbmtd /usr/local/bin/ndbmtd
/var/tmp
после копирования
ndb_mgm и
ndb_mgmd.
shell>
cd /usr/local/bin
shell> chmod +x ndb*
/usr/local/mysql/data
.
Эта информация важна, формируя узел управления. См.
(See
раздел 4.5..tar.gz
.root
выполните следующие шаги, чтобы установить
ndb_mgmd и
ndb_mgm:/var/tmp
и распакуйте
ndb_mgm и
ndb_mgmd из архива в подходящий каталог,
такой как /usr/local/bin
:
shell>
cd /var/tmp
shell> tar -zxvf mysql-cluster-gpl-7.5.17-linux-glibc2.12-x86_64.tar.gz
shell> cd mysql-cluster-gpl-7.5.17-linux-glibc2.12-x86_64
shell> cp bin/ndb_mgm* /usr/local/bin
shell>
cd /usr/local/bin
shell> chmod +x ndb_mgm*
4.3.2. Установка NDB Cluster из RPM
mysql-cluster-community-data-node-7.5.8-1.el7.x86_64.rpm
mysql-cluster-
license
-component
-ver
-rev
.distro
.arch
.rpm
license
: {commercial | community}
component
: {management-server | data-node | server | client | other see text
}
ver
: major
.minor
.release
rev
: major
[.minor
]
distro
: {el6 | el7 | sles12}
arch
: {i686 | x86_64}
license
указывает, является ли RPM частью коммерческого выпуска или выпуска
сообщества кластера NDB. В остатке от этой секции мы предполагаем для
примеров, что вы устанавливаете выпуск сообщества.component
с описаниями:Компонент
Описание auto-installer
NDB Cluster Auto Installer, см.
раздел 4.1 client
Клиенты MySQL и NDB
, включает клиент
mysql, клиент
ndb_mgm и прочие клиентские инструментыcommon
Набор символов и информация о сообщении об ошибке,
необходимые серверу MySQL data-node
Объекты узла данных
ndbd и
ndbmtd devel
Заголовки и файлы библиотеки для развития клиента MySQL embedded
Встраиваемый MySQL server embedded-compat
Встраиваемый MySQL server для обратной совместимости embedded-devel
Заголовок и файлы библиотеки для разработки приложений
для встраиваемого MySQL java
JAR-файлы для приложений ClusterJ libs
Библиотеки клиента MySQL libs-compat
Библиотеки клиента MySQL для обратной совместимости management-server
Сервер управления NDB Cluster
(
ndb_mgmd) memcached
Файлы для ndbmemcache
minimal-debuginfo
Отладочная информация для минимального серверного пакета, полезны,
разрабатывая приложения, которые используют этот пакет или
отлаживая этот пакет ndbclient
Библиотека клиента NDB
для управления приложениями NDB API и MGM API
(libndbclient
)ndbclient-devel
Заголовки и другие файлы для развития приложений NDB
API и MGM API nodejs
Файлы поддержки Node.JS в NDB Cluster server
MySQL server (mysqld) с
поддержкой NDB
и связанные
программы сервера MySQLserver-minimal
Минимальная установка сервера MySQL для
NDB и связанных инструментов test
mysqltest
другие тестовые программы MySQL и файлы поддержки .tar
)
всего кластера NDB RPM для данной платформы и архитектуры также доступен.
Название этого файла следует за образцом, показанным здесь:
mysql-cluster-
license
-ver
-rev
.distro
.arch
.rpm-bundle.tar
management-server
data-node
server
и common
клиентский
RPM
должен быть установлен, чтобы предоставить клиент управления
ndb_mgm по крайней мере на одном узле управления.
Можно также хотеть установить его на узлах SQL, чтобы иметь
mysql
и другие программы клиента MySQL, доступные на них. Мы обсуждаем установку
узлов по типу позже в этой секции.ver
представляет трехчастный
номер версии NDB
в формате
7.5.x
, в этих примерах
7.5.17
.
rev
обеспечивает число пересмотра RPM в формате
major
.
minor
. В примерах, показанных в этой секции, мы используем
для этого значения 1.1
.distro
(дистрибутив Linux) это
одно из rhel5
(Oracle Linux 5, Red Hat
Enterprise Linux 4 и 5), el6
(Oracle Linux
6, Red Hat Enterprise Linux 6), el7
(Oracle
Linux 7, Red Hat Enterprise Linux 7) или
sles12
(SUSE Enterprise Linux 12).
Для примеров в этой секции мы предполагаем, что хост работает с Oracle
Linux 7, Red Hat Enterprise Linux 7 или аналогом
(el7
).arch
это
i686
для 32-bit RPM или
x86_64
для версий 64-bit.
В примерах, показанных здесь, мы принимаем 64-битную платформу.7.5.17
) может измениться согласно версии,
которую вы на самом деле используете.
Очень важно, чтобы у всего кластера RPM, который будет установлен, был тот же
самый номер версии. Архитектура должна также соответствовать
машине, на которой должен быть установлен RPM; в частности необходимо иметь в
виду, что 64-битный RPM (x86_64
) нельзя
использовать с 32-битными операционными системами
(i686
).data-node
RPM.
Чтобы сделать это, скопируйте этот RPM на хост узла данных и управляйте
следующей командой как системный пользователь root, заменяя имя для RPM
по мере необходимости:
shell>
rpm -Uhv mysql-cluster-community-data-node-7.5.17-1.el7.x86_64.rpm
/usr/sbin
.
Любой из них может использоваться, чтобы управлять процессом узла данных
на этом хосте.server
и
common
RPM на каждую машину, которая будет
использоваться для узла SQL NDB Cluster (server
требует common
). Установите
server
RPM, выполняя следующую команду как
системный пользователь root, заменяя имя RPM по смыслу:
shell>
rpm -Uhv mysql-cluster-community-server-7.5.17-1.el7.x86_64.rpm
NDB
в каталог
/usr/sbin
.
Это также устанавливает файлы поддержки MySQL Server
и полезные программы сервера MySQL, включая стартовые скрипты
mysql.server и
mysqld_safe (в
/usr/share/mysql
и
/usr/bin
, соответственно). Инсталлятор RPM
должен заботиться об общих проблемах конфигурации (таких как создание
пользователя и группы mysql
, если надо) сам.NDB
.client
RPM:
shell>
rpm -Uhv mysql-cluster-community-client-7.5.17-1.el7.x86_64.rpm
/usr/bin
.management-server
RPM.
Скопируйте этот RPM на компьютер, предназначенный, чтобы принять узел
управления, и затем установите его, управляя следующей командой как системный
пользователь root (заменив имя RPM по смыслу):
shell>
rpm -Uhv mysql-cluster-commercial-management-server-7.5.17-1.el7.x86_64.rpm
/usr/sbin
. В то время как это единственная
программа, на самом деле требуемая для управления, также хорошая идея иметь
клиент управления NDB Cluster
ndb_mgm.
Можно получить эту программу, а также другие программы клиента
NDB
, например,
ndb_desc и
ndb_config,
установив client
RPM, как описано выше.NDB
получены из того же самого
client
RPM, откуда
mysql
и другие клиенты MySQL.MySQL-Cluster-
component
-producttype
-ndbversion
-revision
.distribution
.architecture
.rpm
component
:= {server | client [| other
]}
producttype
:= {gpl | advanced}
ndbversion
:= major
.minor
.release
distribution
:= {sles11 | rhel5 | el6}
architecture
:= {i386 | x86_64}
component
может быть
server
или client
.
Другие значения возможны, но с тех пор только
server
и client
требуются для работы установки кластера NDB, мы не обсуждаем их здесь.
producttype
для Community RPM
доступны на https://dev.mysql.com/downloads/cluster/ это всегда
gpl
, advanced
используется, чтобы указать на коммерческие версии.
ndbversion
представляет трехчастный номер версии NDB
в
формате 7.5.x
, мы используем
7.5.3
всюду в остальной части этой секции. RPM
revision
показана как
1
в примерах далее.
distribution
может быть одним из
sles12
(SUSE Enterprise Linux 12),
rhel6
(Oracle Linux 6, Red Hat Enterprise
Linux 6) или el7
(Oracle Linux 7, Red Hat
Enterprise Linux 7). architecture
это i386
для 32-bit RPM или
x86_64
для 64-bit.server
RPM (например,
MySQL-Cluster-server-gpl-7.5.3-1.sles11.i386.rpm
), который поставляет основные файлы для работы MySQL Server с
NDBCLUSTER
(то есть, как узел SQL кластера NDB), а также все исполняемые файлы кластера
NDB, включая узел управления, узел данных и клиент
ndb_mgm.
Этот RPM всегда требуется для установки кластера NDB.client
RPM (например,
MySQL-Cluster-client-gpl-7.5.3-1.sles11.i386.rpm
), который ставит клиент
mysql.architecture
должно также соответствовать машине, на которой должен быть установлен RPM,
в частности необходимо иметь в виду, что 64-битный RPM не может
использоваться с 32-битными операционными системами.server
RPM.
Чтобы сделать это, скопируйте этот RPM на хост узла данных и управляйте
следующей командой как системный пользователь root, заменяя имя RPM:
shell>
rpm -Uhv MySQL-Cluster-server-gpl-7.5.17-1.sles11.i386.rpm
/usr/sbin
)
на самом деле необходима, чтобы управлять узлом данных.server
RPM (имя
корректируется по смыслу):
shell>
rpm -Uhv MySQL-Cluster-server-gpl-7.5.17-1.sles11.i386.rpm
NDB
в каталог
/usr/sbin
, а также все файлы поддержки
MySQL Server. Это также устанавливает скрипты
mysql.server и
mysqld_safe (в
/usr/share/mysql
и
/usr/bin
, соответственно).
Инсталлятор RPM должен заботиться об общих проблемах конфигурации сам.client
RPM:
shell>
rpm -Uhv MySQL-Cluster-client-gpl-7.5.17-1.sles11.i386.rpm
server
RPM.
Скопируйте этот RPM на компьютер, предназначенный, чтобы принять узел
управления, а затем установите его, управляя следующей командой как
системный пользователь root:
shell>
rpm -Uhv MySQL-Cluster-server-gpl-7.3.28-1.sles11.i386.rpm
/usr/sbin
) реально требуется для управления.
server
RPM также ставит клиент управления
ndb_mgm.
4.3.3. Установка NDB Cluster с применением файлов .deb
.deb
, поставляемые Oracle с этой целью..deb
для кластера NDB 7.5 для 32-битных и 64-битных платформ. Для Debian-системы
необходим только единственный файл инсталлятора.
Этот файл называют, используя образец, показанный здесь, согласно применимой
версии кластера NDB, версии Debian и архитектуре:
mysql-cluster-gpl-
ndbver
-debiandebianver
-arch
.deb
ndbver
это номер версии
NDB
,
debianver
основная версия Debian
(8
или 9
),
arch
одно из
i686
или x86_64
.
В примерах, которые следуют, мы предполагаем, что вы хотите установить NDB
7.5.17 на 64-битной системе Debian 9, в этом случае файл инсталлятора
называют
mysql-cluster-gpl-7.5.17-debian9-x86_64.deb-bundle.tar
..deb
, можно установить его из командной строки
через dpkg
так:
shell>
dpkg -i mysql-cluster-gpl-7.5.17-debian9-i686.deb
dpkg
:
shell>
dpkg -r mysql
.deb
, например,
GDebi
для Gnome..deb
ставит NDB Cluster в
/opt/mysql/server-
, где
version
/version
версия выпуска с 2 частями для сервера MySQL. Для NDB 7.5 это всегда
5.7
. Расположение каталогов совпадает с заданным
для универсального дистрибутива Linux (см.
MySQL Installation Layout for Generic Unix/Linux Binary Package
) за исключением того, что скрипты запуска и конфигурационные файлы
будут в support-files
вместо
share
. Все исполняемые модули NDB Cluster,
например,
ndb_mgm,
ndbd и
ndb_mgmd, будут в каталоге
bin
.
4.3.4. Сборка NDB Cluster в Linux из исходного текста
mysql-cluster-gpl-7.5.17.tar.gz
.
Можно также получить исходные тексты NDB Cluster с GitHub
https://github.com/mysql/mysql-server/tree/cluster-7.5
(NDB 7.5) и https://github.com/mysql/mysql-server/tree/cluster-7.6
(NDB 7.6). Сборка NDB Cluster 7.5 или 7.6 из
исходных текстов обычного MySQL Server 5.7 не поддерживается.WITH_NDBCLUSTER_STORAGE_ENGINE
для CMake
заставляет собрать объекты для узлов управления, узлов данных и других
программ кластера NDB. Это также заставляет
mysqld включить поддержку
NDB
.
Этот выбор (или его псевдоним
WITH_NDBCLUSTER
)
требуется, строя кластер NDB.WITH_NDB_JAVA
позволена по умолчанию. Это означает, что по умолчанию, если
CMake
не может найти местоположение Явы на вашей системе, процесс
конфигурации терпит неудачу, если вы не хотите позволять поддержку Явы и
ClusterJ, необходимо указать на это явно, формируя сборку с
-DWITH_NDB_JAVA=OFF
. Надо использовать
WITH_CLASSPATH
, чтобы
обеспечить Java classpath, если требуется./usr/local/mysql/bin
. Только
ndb_mgmd
требуется на хосте узла управления, однако, также хорошая идея иметь
ndb_mgm на той же самой хост-машине. Ни один из
этих исполняемых файлов не требует определенного местоположения в файловой
системе хост-машины./usr/local/mysql/bin
.
Для установки на многих хостах узла данных только
ndbd или
ndbmtd должны быть скопированы
к другой хост-машине или машинам. Это предполагает, что все хосты узла данных
используют ту же самую архитектуру и операционную систему,
иначе вы, возможно, должны собрать модули отдельно для каждой платформы.
Исполняемый файл для узла данных не должен быть ни в каком конкретном
местоположении в файловой системе хоста, пока местоположение известно.NDB
заставляет собрать
ndbmtd автоматически,
make install помещает
ndbmtd в установочный
каталог bin
с
mysqld,
ndbd и
ndb_mgm.root
), mysqld будет в
/usr/local/mysql/bin
.
Выполните шаги, данные в
Installing MySQL from Source, чтобы подготовить
mysqld к работе.
Если вы хотите управлять многими узлами SQL, можно использовать копию того же
самого mysqld и его связанных
файлов поддержки на нескольких машинах. Самый легкий способ сделать это:
скопировать каталог /usr/local/mysql
и все каталоги и файлы в нем другому хосту узла SQL, затем повторите шаги в
Installing MySQL from Source
на каждой машине. Если вы формируете сборку с опцией
PREFIX
,
необходимо приспособить каталог соответственно.
4.4. Установка NDB Cluster в Windows
4.4.1. Установка NDB Cluster в Windows из двоичного архива
Узел
IP-адрес Узел управления (
mgmd)
198.51.100.10 Узел SQL (mysqld
)
198.51.100.20 Узел данных "A"
(
ndbd)
198.51.100.30 Узел данных "B"
(
ndbd)
198.51.100.40 .exe
. Однако, не надо его указывать,
вызывая эти программы из командной строки. Поэтому мы часто просто обращаемся
к этим программам в этой документации как
mysqld,
mysql,
ndb_mgmd и т.д.
Необходимо понять, что, обращаемся ли мы (например), к
mysqld или
mysqld.exe,
любое имя означает то же самое (программа MySQL Server).no-install
,
первый шаг в процессе установки должен загрузить последний архив
NDB Cluster Windows ZIP с
https://dev.mysql.com/downloads/cluster/.
У этого архива есть имя файла
mysql-cluster-gpl-
,
где
ver
-winarch
.zipver
это номер версии
NDB
(например,
7.5.17
) и
arch
это архитектура
(32
для 32-bit и
64
для 64-bit). Например, архив NDB Cluster
7.5.17 для 64-bit Windows называется
mysql-cluster-gpl-7.5.17-win64.zip
.C:\Documents and
Settings\
на машине с IP 198.51.100.20, где
username
\My
Documents\Downloadsusername
имя нынешнего пользователя. Можно получить это имя через
ECHO %USERNAME%
в командной строке.
Чтобы установить и управлять исполняемыми файлами кластера NDB как службами
Windows, этот пользователь должен быть членом группы
Administrators
.C:\
, что заставляет Extraction Wizard
извлекать архив к каталогу
C:\mysql-cluster-gpl-
. Переименуйте этот каталог в
ver
-winarch
C:\mysql
.C:\mysql\bin
,
однако, если вы делаете так, необходимо изменить пути, показанные в
этой процедуре соответственно. В частности, если MySQL Server (узел SQL)
устанавливается в местоположении кроме
C:\mysql
или C:\Program
Files\MySQL\MySQL Server 5.7
или если
каталог данных узла SQL находится в местоположении кроме
C:\mysql\data
или
C:\Program Files\MySQL\MySQL Server 5.7\data
,
дополнительные параметры конфигурации должны использоваться в командной
строке или добавляться к файлу my.ini
или
my.cnf
, начиная узел SQL.
Для получения дополнительной информации о формировании MySQL Server, чтобы
работать в нестандартном местоположении посмотрите
Installing MySQL on Microsoft Windows Using a
noinstall
ZIP Archive.
--ndbcluster
и
--ndb-connectstring
. В то время как можно определить эти опции в
командной строке, обычно более удобно разместить их в файле.
Чтобы сделать это, создайте новый текстовый файл в Блокноте или другом
текстовом редакторе. Введите следующую конфигурационную
информацию в этот файл:
[mysqld]
# Options for mysqld process:
ndbcluster # run NDB storage engine
ndb-connectstring=198.51.100.10 # location of management server
C:\mysql\my.ini
.
Это заканчивает установку для узла SQL.C:\mysql
,
C:\mysql\bin
и
C:\mysql\cluster-data
,
на компьютере, где вы загрузили и распаковали архив
no-install
, определите местонахождение
ndbd.exe
в каталоге
C:\mysql\bin
. Скопируйте этот файл в каталог
C:\mysql\bin
на каждом из двух
хостов с узлами данных.--ndb-connectstring
или
-c
при запуске.
Однако, обычно предпочтительно поместить эту информацию в файл.
Чтобы сделать это, создайте новый текстовый файл в Блокноте или другом
текстовом редакторе и введите следующий текст:
[mysql_cluster]
# Options for data node process:
ndb-connectstring=198.51.100.10 # location of management server
C:\mysql\my.ini
на хосте узла данных. Создайте другой текстовый файл, содержащий ту же самую
информацию, и сохраните его как
C:mysql\my.ini
на другом хосте узла данных. Оба хоста узла данных теперь готовы
использоваться в NDB Cluster.no-install
,
это должно быть каталогом C:\mysql\bin
на хосте узла SQL. Создайте каталог
C:\mysql\bin
на компьютере, имеющем IP-адрес 198.51.100.10, затем скопируйте обе
программы к этому каталогу.ndb_mgmd.exe
:
[mysql_cluster]
# Options for management node process
config-file=C:/mysql/bin/config.ini
C:\mysql\bin\my.ini
.HostName
).
Также желательно включать следующую дополнительную информацию:DataMemory
и
IndexMemory
)NoOfReplicas
(см.
раздел 3.2).
DataDir
)
[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2 # Number of replicas
DataDir=C:/mysql/cluster-data # Directory for each data node's data files
# Forward slashes used in directory path,
# rather than backslashes. This is correct;
# see Important note in text
DataMemory=80M # Memory allocated to data storage
IndexMemory=18M # Memory allocated to index storage
# For DataMemory and IndexMemory, we have used the
# default values. Since the "world" database takes up
# only about 500KB, this should be more than enough for
# this example Cluster setup.
[ndb_mgmd]
# Management process options:
HostName=198.51.100.10 # Hostname or IP address of management node
DataDir=C:/mysql/bin/cluster-logs # Directory for management node log files
[ndbd]
# Options for data node "A":
# (one [ndbd] раздел per data node)
HostName=198.51.100.30# Hostname or IP address
[ndbd]
# Options for data node "B":
HostName=198.51.100.40# Hostname or IP address
[mysqld]
# SQL node options:
HostName=198.51.100.20# Hostname or IP address
C:\mysql\bin\config.ini
.\
)
не может использоваться, определяя пути к каталогам в опциях
программы или конфигурационных файлах, используемых NDB Cluster в Windows.
Вместо этого необходимо экранировать каждый символ
наклонной черты влево второй наклонной чертой влево
(\\
) или заменить наклонную черту влево
символом наклонной черты вправо (/
).
Например, следующая строка раздела
[ndb_mgmd]
файла
config.ini
не работает:
DataDir=C:\mysql\bin\cluster-logs
DataDir=C:\\mysql\\bin\\cluster-logs # Escaped backslashes
DataDir=C:/mysql/bin/cluster-logs # Forward slashes
4.4.2. Компиляция NDB Cluster в Windows
mysql-cluster-gpl-7.5.17.tar.gz
.
Можно также получить их с GitHub
https://github.com/mysql/mysql-server/tree/cluster-7.5
(NDB 7.5) и https://github.com/mysql/mysql-server/tree/cluster-7.6
(NDB 7.6). Сборка NDB Cluster 7.5 или 7.6 из
исходных текстов обычного MySQL Server 5.7 не поддерживается
.WITH_NDBCLUSTER_STORAGE_ENGINE
или WITH_NDBCLUSTER
в дополнение к любым другим опциям сборки, которые вы хотите использовать с
CMake.
(WITH_NDBCLUSTER
поддерживается как псевдоним для
WITH_NDBCLUSTER_STORAGE_ENGINE
и работает точно таким же образом.WITH_NDB_JAVA
позволена по умолчанию. Это означает, что по умолчанию, если
CMake
не может найти местоположение Java на вашей системе, процесс конфигурации
терпит неудачу, если вы не хотите позволять поддержку Java и ClusterJ,
необходимо указать на это явно, формируя сборку с применением
-DWITH_NDB_JAVA=OFF
(Bug #12379735). Используйте
WITH_CLASSPATH
,
чтобы обеспечить Java classpath, если надо.bin
получающегося архива, который эквивалентен архиву
no-install
и может устанавливаться и
формироваться таким же образом. Для получения дополнительной информации
посмотрите
раздел 4.4.1.
4.4.3. Начальный запуск кластера NDB в Windows
C:\mysql\bin>
ndb_mgmd
2010-06-23 07:53:34 [MgmtSrvr] INFO -- NDB Cluster Management Server. mysql-5.7.29-ndb-7.5.17
2010-06-23 07:53:34 [MgmtSrvr] INFO -- Reading cluster configuration from 'config.ini'
-f
говорит узлу управления, где найти глобальный конфигурационный файл
(config.ini
). Длинная форма этого выбора:
--config-file
.config.ini
, как только кэш создан, процесс
игнорирует config.ini
на последующих запусках, если не вызван, чтобы сделать иначе.
Это означает, что если узел управления не начинается из-за ошибки в этом
файле, необходимо чтобы узел управления перечитал
config.ini
после того, как вы исправили любые ошибки в нем. Можно сделать это, начав
ndb_mgmd.exe с опцией
--reload
или
--initial
в командной строке. Любой из этих вариантов работает,
чтобы освежить кэш конфигурации.my.ini
узла управления.
C:\mysql\bin>
ndbd
2010-06-23 07:53:46 [ndbd] INFO -- Configuration fetched from 'localhost:1186', generation: 1
C:\mysql\bin
на хосте узла управления. Не пытайтесь снова использовать консоль, где
работает
ndb_mgmd.exe.
CTRL+
C прерывает узел управления.
Получающийся вывод должен быть похож на это:
C:\mysql\bin>
ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm>
ndb_mgm>
появляется, это указывает, что клиент управления готов получить команды
управления NDB Cluster. Можно наблюдать статус узлов данных вводя
ALL STATUS
в клиенте управления. Эта команда вызывает бегущее
сообщение о последовательности запуска узлов данных, которое должно
выглядеть примерно так:
ndb_mgm>
ALL STATUS
Connected to Management Server at: localhost:1186
Node 2: starting (Last completed phase 3) (mysql-5.7.29-ndb-7.5.17)
Node 3: starting (Last completed phase 3) (mysql-5.7.29-ndb-7.5.17)
Node 2: starting (Last completed phase 4) (mysql-5.7.29-ndb-7.5.17)
Node 3: starting (Last completed phase 4) (mysql-5.7.29-ndb-7.5.17)
Node 2: Started (version 7.5.17)
Node 3: Started (version 7.5.17)
ndb_mgm>
ALL STATUS
изменится в зависимости от того, что показывают здесь, согласно скорости, на
которой узлы данных в состоянии стартовать, номера релизной версии
программного обеспечения NDB Cluster, которое вы используете, и других
факторов. Важно, что, когда вы видите, что оба узла данных стартовали, вы
готовы запустить узел SQL.C:\mysql\bin
).
C:\mysql\bin>
mysqld --console
--console
предписывает выводить информацию на консоль, что
может быть полезным в случае проблем. Как только вы убедитесь, что узел SQL
работает удовлетворительно, можно остановить его и перезапустить без опции
--console
, чтобы регистрация
выполнялась как обычно.SHOW
,
которая должна произвести примерно следующее:
ndb_mgm>
SHOW
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2@198.51.100.30(Version: 5.7.29-ndb-7.5.17, Nodegroup: 0, *)
id=3@198.51.100.40(Version: 5.7.29-ndb-7.5.17, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1@198.51.100.10(Version: 5.7.29-ndb-7.5.17)
[mysqld(API)] 1 node(s)
id=4@198.51.100.20(Version: 5.7.29-ndb-7.5.17)
SHOW ENGINE NDB STATUS
.
4.4.4. Установка NDB Cluster как Windows Services
--install
:
C:\>
C:\mysql\bin\ndb_mgmd.exe --install
Installing service 'NDB Cluster Management Server'
as '"C:\mysql\bin\ndbd.exe" "--service=ndb_mgmd"'
Service successfully installed.
--install
должна использоваться сначала перед любыми другими
опциями, которые могли бы быть определены для
for
ndb_mgmd.exe.
Однако, предпочтительно определить такие опции в файле
вместо этого. Если ваш файл не находится в одном из местоположений по
умолчанию, как показано в выводе
ndb_mgmd.exe
--help
, можно определить местоположение, используя опцию
--config-file
.
C:\>
SC START ndb_mgmd
C:\> SC STOP ndb_mgmd
C:\>
NET START 'NDB Cluster Management Server'
The NDB Cluster Management Server service is starting.
The NDB Cluster Management Server service was started successfully.
C:\> NET STOP'NDB Cluster Management Server'
The NDB Cluster Management Server service is stopping..
The NDB Cluster Management Server service was stopped successfully.
ndb_mgmd
, укажите его, как в этом примере:
C:\>
C:\mysql\bin\ndb_mgmd.exe --install=mgmd1
Installing service 'NDB Cluster Management Server'
as '"C:\mysql\bin\ndb_mgmd.exe" "--service=mgmd1"'
Service successfully installed.
C:\>
SC START mgmd1
C:\> SC STOP mgmd1
service_name
:
C:\>
SC DELETE mgmd1
--remove
:
C:\>
C:\mysql\bin\ndb_mgmd.exe --remove
Removing service 'NDB Cluster Management Server'
Service successfully removed.
--remove
:
C:\>
C:\mysql\bin\ndb_mgmd.exe --remove=mgmd1
Removing service 'mgmd1'
Service successfully removed.
--install
для
ndbd.exe (или
ndbmtd.exe):
C:\>
C:\mysql\bin\ndbd.exe --install
Installing service 'NDB Cluster Data Node Daemon' as '"C:\mysql\bin\ndbd.exe" "--service=ndbd"'
Service successfully installed.
C:\>
SC START ndbd
C:\> SC STOP ndbd
service_name
:
C:\>
SC DELETE ndbd
--remove
:
C:\>
C:\mysql\bin\ndbd.exe --remove
Removing service 'NDB Cluster Data Node Daemon'
Service successfully removed.
--install
и затем использовать его, начиная
или останавливая сервис:
C:\>
C:\mysql\bin\ndbd.exe --install=dnode1
Installing service 'dnode1' as '"C:\mysql\bin\ndbd.exe" "--service=dnode1"'
Service successfully installed.
C:\> SC START dnode1
C:\> SC STOP dnode1
C:\>
SC DELETE dnode1
--remove
:
C:\>
C:\mysql\bin\ndbd.exe --remove=dnode1
Removing service 'dnode1'
Service successfully removed.
--install
,
SC START,
SC STOP, и
SC DELETE (или
mysqld
--remove
).
Команды NET
могут также использоваться, чтобы начать или остановить сервис.
Для получения дополнительной информации посмотрите
Starting MySQL as a Windows Service.
4.5. Начальная конфигурация для NDB Cluster
my.cnf
, который обеспечивает два типа сведений:
connection string,
которая говорит узлу, где найти узел управления, и строку, говорящую серверу
MySQL на этом хосте включить
NDBCLUSTER
.config.ini
,
говорящий ему, сколько точных копий поддерживать, сколько памяти ассигновать
для данных и индексов на каждом узле данных, где найти узлы данных, где
сохранить данные на диске по каждому узлу данных и где найти любые узлы SQL.
my.cnf
, необходимый для узлов данных,
довольно прост. Конфигурационный файл должен быть расположен в каталоге
/etc
и может быть отредактирован, используя любой текстовый редактор.
Создайте файл, если он не существует. Например:
shell>
vi /etc/my.cnf
my.cnf
должен быть похожим на это:
[mysqld]
# Options for mysqld process:
ndbcluster # run NDB storage engine
[mysql_cluster]
# Options for NDB Cluster processes:
ndb-connectstring=198.51.100.10 # location of management server
ndbcluster
и
ndb-connectstring
в разделах
[mysqld]
и
[mysql_cluster]
файла
my.cnf
, вы не можете выполнить
CREATE TABLE
или
ALTER TABLE
не запустив на самом деле кластер. Иначе эти запросы потерпят неудачу с
ошибкой. Это дизайн.root
):
shell>
mkdir /var/lib/mysql-cluster
shell> cd /var/lib/mysql-cluster
shell> vi config.ini
config.ini
:
[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2 # Number of replicas
DataMemory=80M # How much memory to allocate for data storage
IndexMemory=18M # How much memory to allocate for index storage
# For DataMemory and IndexMemory, we have used the
# default values. Since the "world" database takes up
# only about 500KB, this should be more than enough for
# this example NDB Cluster setup.
# NOTE: IndexMemory is deprecated in NDB 7.6 и выше; in
# these versions, resources for all data and indexes are
# allocated by DataMemory and any that are set for IndexMemory
# are added to the DataMemory resource pool
ServerPort=2202 # This the default value; however, you can use any
# port that is free for all the hosts in the cluster
# Note1: It is recommended that you do not specify the port
# number at all and simply allow the default value to be used instead
# Note2: The port was formerly specified using the PortNumber
# TCP parameter; this parameter is no longer available in NDB Cluster 7.5.
[ndb_mgmd]
# Management process options:
HostName=198.51.100.10 # Hostname or IP address of MGM node
DataDir=/var/lib/mysql-cluster # Directory for MGM node log files
[ndbd]
# Options for data node "A":
# (one [ndbd] раздел per data node)
HostName=198.51.100.30 # Hostname or IP address
NodeId=2 # Node ID for this data node
DataDir=/usr/local/mysql/data # Directory for this data node's data files
[ndbd]
# Options for data node "B":
HostName=198.51.100.40 # Hostname or IP address
NodeId=3 # Node ID for this data node
DataDir=/usr/local/mysql/data # Directory for this data node's data files
[mysqld]
# SQL node options:
HostName=198.51.100.20 # Hostname or IP address
# (additional mysqld connections can be
# specified for this node for various
# purposes such as running ndb_restore)
world
можно скачать с
https://dev.mysql.com/doc/index-other.html.
4.6. Начальный запуск NDB Cluster
shell>
ndb_mgmd -f /var/lib/mysql-cluster/config.ini
-f
или
--config-file
, см.
раздел 6.4.
shell>
ndbd
shell>
ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> SHOW
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2@198.51.100.30(Version: 5.7.29-ndb-7.5.17, Nodegroup: 0, *)
id=3@198.51.100.40(Version: 5.7.29-ndb-7.5.17, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1@198.51.100.10(Version: 5.7.29-ndb-7.5.17)
[mysqld(API)] 1 node(s)
id=4@198.51.100.20(Version: 5.7.29-ndb-7.5.17)
[mysqld(API)]
, это отражает то, что процесс
mysqld
действует как узел API кластера NDB.SHOW
, это адрес, используемый узлом SQL или API, чтобы соединиться с узлами
данных, а не с любым узлом управления.
4.7. Пример кластера NDB с таблицами и данными
NDBCLUSTER
.
Чтобы определить это, используйте
ENGINE=NDBCLUSTER
или
ENGINE=NDB
, составляя таблицу:
CREATE TABLE tbl_name (col_name column_definitions) ENGINE=NDBCLUSTER;
ALTER TABLE
, чтобы
использовать NDBCLUSTER
:
ALTER TABLE
tbl_name
ENGINE=NDBCLUSTER;
NDBCLUSTER
имеет первичный ключ. Если никакой первичный ключ не определяется
пользователем, когда таблица составлена,
NDBCLUSTER
автоматически производит скрытый.
Такой ключ занимает место, как любой другой индекс таблицы.
Весьма распространено столкнуться с проблемами из-за недостаточной памяти для
размещения этих автоматически созданных индексов.ENGINE
к любым запросам создания таблицы или заменить любой существующий
ENGINE
. Предположим, что вы имеете
базу данных-образец world
на другом сервере MySQL, который не поддерживает кластер NDB, и вы
хотите экспортировать таблицу City
:
shell> mysqldump --add-drop-table world City > city_table.sql
city_table.sql
будет содержать этот запрос создания таблицы (и запросы
INSERT
,
чтобы импортировать данные):
DROP TABLE IF EXISTS `City`;
CREATE TABLE `City` (`ID` int(11) NOT NULL auto_increment,
`Name` char(35) NOT NULL default '',
`CountryCode` char(3) NOT NULL default '',
`District` char(20) NOT NULL default '',
`Population` int(11) NOT NULL default '0',
PRIMARY KEY(`ID`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `City` VALUES (1,'Kabul','AFG','Kabol',1780000);
INSERT INTO `City` VALUES (2,'Qandahar','AFG','Qandahar',237500);
INSERT INTO `City` VALUES (3,'Herat','AFG','Herat',186800);
(remaining INSERT statements omitted)
NDBCLUSTER
для этой таблицы. Есть два способа, которыми это может быть достигнуто. Один
из них должен изменить определение таблицы
перед
импортом ее в базу данных кластера. Используя таблицу
City
как пример, измените опцию
ENGINE
:
DROP TABLE IF EXISTS `City`;
CREATE TABLE `City` (`ID` int(11) NOT NULL auto_increment,
`Name` char(35) NOT NULL default '',
`CountryCode` char(3) NOT NULL default '',
`District` char(20) NOT NULL default '',
`Population` int(11) NOT NULL default '0',
PRIMARY KEY(`ID`))
ENGINE=NDBCLUSTER DEFAULT CHARSET=latin1;
INSERT INTO `City` VALUES (1,'Kabul','AFG','Kabol',1780000);
INSERT INTO `City` VALUES (2,'Qandahar','AFG','Qandahar',237500);
INSERT INTO `City` VALUES (3,'Herat','AFG','Herat',186800);
(remaining INSERT statements omitted)
TYPE=
или
engine_name
ENGINE=
на engine_name
ENGINE=NDBCLUSTER
.
Если вы не хотите изменять файл, можно использовать неизмененный файл, чтобы
составить таблицы, а затем использовать
ALTER TABLE
,
чтобы изменить их механизм хранения.
Подробные сведения даны позже в этой секции.world
на узле SQL, тогда можно использовать
клиент mysql, чтобы читать
city_table.sql
,
создать и наполнить соответствующую таблицу обычным способом:
shell>
mysql world < city_table.sql
198.51.100.20
).world
на узле SQL, примените mysqldump
на сервере, чтобы экспортировать базу данных в файл
world.sql
(например, в каталоге
/tmp
). Затем измените определения таблицы, как
ранее описано и импортируйте файл в узел SQL кластера:
shell>
mysql world < /tmp/world.sql
SELECT
на узле SQL
не отличаются от выполнения на любом другом экземпляре сервера MySQL.
Для выполнения запросов из командной строки сначала необходимо авторизоваться
в MySQL Monitor обычным способом (укажите пароль
root
в ответ на запрос
Enter password:
):
shell>
mysql -u root -p
Enter password:
Welcome to the MySQL monitor.Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.7.29-ndb-7.5.17
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
root
и предполагаем, что вы следовали мерам
предосторожности стандартной защиты для установки сервера MySQL, включая
определение сильного пароля для root
. См.
Securing the Initial MySQL Account.root
) влияет только на запросы, которые получают
доступ к узлу SQL, но не на взаимодействие между узлами. Посмотрите
раздел 7.12.2.ENGINE
в определениях таблицы до импортирования SQL, необходимо
управлять следующими запросами:
mysql>
USE world;
mysql> ALTER TABLE City ENGINE=NDBCLUSTER;
mysql> ALTER TABLE Country ENGINE=NDBCLUSTER;
mysql> ALTER TABLE CountryLanguage ENGINE=NDBCLUSTER;
mysql>
USE world;
mysql> SELECT Name, Population FROM City ORDER BY Population DESC LIMIT 5;
+----------+------------+
| Name | Population |
+----------+------------+
| Bombay | 10500000 |
| Seoul | 9981619 |
| So Paulo | 9968485 |
| Shanghai | 9696300 |
| Jakarta | 9604900 |
+----------+------------+
5 rows in set (0.34 sec)
mysql> \q
Bye
shell>
NDB
.
Важно помнить, что ваш запрос должен получить доступ к узлу SQL, а не узлам
данных или управления. Этот краткий пример показывает, как мы могли бы
выполнить SELECT
при помощи расширения PHP 5.X mysqli
на веб-сервере в другом месте в сети:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>SIMPLE mysqli SELECT</title>
</head>
<body>
<?php
# connect to SQL node:
$link = new mysqli('198.51.100.20', 'root', '
root_password
', 'world');
# parameters for mysqli constructor are: host, user, password, database
if (mysqli_connect_errno())
die("Connect failed: " . mysqli_connect_error());
$query = "SELECT Name, Population FROM City ORDER BY Population DESC LIMIT 5";
# if no errors...
if ($result = $link->query($query))
{
?>
<table border="1" width="40%" cellpadding="4" cellspacing ="1">
<tbody>
<tr>
<th width="10%">City</th>
<th>Population</th>
</tr>
<?
# then display the results...
while($row = $result->fetch_object())
printf("<tr>\n<td align=\"center\">%s</td><td>%d</td>\n</tr>\n",
$row->Name, $row->Population);
?>
</tbody
</table>
<?
# ...and verify the number of rows that were retrieved
printf("<p>Affected rows: %d</p>\n", $link->affected_rows);
}
else
# otherwise, tell us what went wrong
echo mysqli_error();
# free the result set and the mysqli connection object
$result->close();
$link->close();
?>
</body>
</html>
4.8. Безопасное закрытие и перезапуск кластера NDB
shell>
ndb_mgm -e shutdown
-e
здесь используется, чтобы передать команду
ndb_mgm из оболочки. См.
раздел 6.32.
Команда заставляет
ndb_mgm,
ndb_mgmd и любой процесс
ndbd или
ndbmtd
заканчиваться нормально. Любые узлы SQL могут быть закончены, используя
mysqladmin shutdown
и другие средства. На платформах Windows, предполагая, что вы установили узел
SQL как службу Windows, можно использовать
SC STOP service_name
или NET STOP
service_name
.198.51.100.10
):
shell>
ndb_mgmd -f /var/lib/mysql-cluster/config.ini
198.51.100.30
и
198.51.100.40
):
shell>
ndbd
198.51.100.20
):
shell>
mysqld_safe &
198.51.100.10
:
C:\>
SC START ndb_mgmd
198.51.100.30
и
198.51.100.40
):
C:\>
SC START ndbd
198.51.100.20
):
C:\>
SC START mysql
4.9. Модернизация и понижение кластера NDB
4.9.1. Модернизация и понижение NDB 7.5
NDBCLUSTER
принята во внимание в этой секции, но есть вероятные другие проблемы.
Как с любым другим обновлением программного
обеспечения MySQL, сильно рекомендуется рассмотреть соответствующие части
MySQL Manual для версий MySQL, от которых и к которым вы намереваетесь
мигрировать, прежде, чем делать попытку модернизации
программного обеспечения NDB Cluster. См.
Upgrading MySQL.
Для получения информации о модернизациях NDB 7.6 посмотрите
раздел 4.9.2.--initialize
и
--ndbcluster
(именно вместе!) вызвали проблемы при запуске
mysql_upgrade.--initialize
,
сервер не требует поддержку
NDB
, наличие включенного
NDB
в это время может вызвать проблемы с
таблицами
ndbinfo
. Чтобы помешать этому, опция
--initialize
теперь заставляет
mysqld игнорировать опцию
--ndbcluster
, если она также определяется..frm
из каталога
data/ndbinfo
EMPTY_LCP
, начатых более старыми узлами как
часть последовательности LCP плюс перезапуск, которые больше не используются
в NDB 7.4 и позже из-за оптимизации LCP, осуществленной в этих версиях.
Эта проблема была устранена в NDB 7.5.4 (Bug #23129433).ndb_binlog_index
использует
InnoDB
.
Использование MyISAM
для этой таблицы продолжает поддерживаться для обратной совместимости.--force
--upgrade-system-tables
с mysql_upgrade, чтобы это
выполнило ALTER TABLE ... ENGINE=INNODB
для таблицы ndb_binlog_index
.sys
, если
каталог базы данных sys
существовал, но был пуст (Bug #81352, Bug #23249846, Bug #22875519).
4.9.2. Модернизация и понижение NDB 7.6
--initial
) как часть процесса модернизации.
--initial
как часть процесса снижения. Это вызвано тем, что NDB
7.5 и более ранний ряд выпусков не в состоянии прочитать новый
формат Disk Data.
IndexMemory
в файле кластерной конфигурации, если его там еще нет.
Это вызвано тем, что NDB 7.6.2 (и позже) не использует этот параметр и
устанавливает его в 0 по умолчанию, тогда как он требуется в NDB 7.5 и более
ранних выпусках, в которых кластер отказывается стартовать с ошибкой
Invalid configuration received from Management
Server..., если IndexMemory
не установлен в ненулевое значение.NDB
,
что означает, что каждый узел данных должен быть перезапущен, используя
опцию
--initial
как часть катящегося перезапуска. Старт узла данных без файловой системы уже
эквивалентен начальному перезапуску, в таких случаях,
--initial
подразумевается и не требуется.
Это неизменно от предыдущих выпусков кластера NDB.Sysfile
, указывающего, что существующая
файловая система узла данных была написана, используя NDB 7.6.4 или позже.
Если такая файловая система узла существует, но не содержит
Sysfile
,
и если какие-либо узлы данных перезапущены без опции
--initial
, NDB
заставляет перезапуск отмениться с соответствующим сообщением об ошибке.
Найди своих коллег! |
Вы можете направить письмо администратору этой странички, Алексею Паутову.