Следуйте этим инструкциям, чтобы сконфигурировать расширенные настройки во время интегрирования MATLAB® Планировщик задания с вашим кластером.
Примечание
Если это - первый раз, когда вы интегрируете Планировщик Задания MATLAB, видите следующее для наиболее распространенных параметров конфигурации: Установите и Сконфигурируйте MATLAB Parallel Server для Планировщика Задания MATLAB и Сетевого менеджера лицензий.
В следующих инструкциях, matlabroot
относится к местоположению вашего установленного программного обеспечения MATLAB Parallel Server™. Где вы видите этот термин, использованный в инструкциях, которые следуют, заменяют путем к вашему местоположению.
Можно обновить кластеры Планировщика Задания MATLAB и продолжить использовать релиз R2016a вперед Parallel Computing Toolbox на клиенте рабочего стола MATLAB, чтобы соединиться с ним. Использовать в своих интересах эту функцию обратной совместимости:
Установите последнюю версию MATLAB Parallel Server в вашем кластере. Необходимо использовать эту версию, чтобы запустить Планировщик Задания MATLAB в кластере.
Установите MATLAB Parallel Server для каждого релиза, который вы хотите поддержать в кластере. Например, чтобы использовать R2016a и R2016b с вашим кластером, установите и R2016a и релизы R2016b MATLAB Parallel Server.
Сконфигурируйте Планировщик Задания MATLAB с местоположением этих установок. В mjs_def
конфигурационный файл, задайте местоположение каждой установки MATLAB Parallel Server в MJS_ADDITIONAL_MATLABROOTS
переменная. Можно найти этот файл в
для Linux (matlabroot
/toolbox/parallel/binmjs_def.sh
) и Windows (mjs_def.bat
). Для получения дополнительной информации см. mjs.
С этой настройкой Планировщик Задания MATLAB позволяет клиентам MATLAB от установленных релизов представлять задания кластеру. Планировщик Задания MATLAB динамически запускает правильную версию работника MATLAB, чтобы запустить задание.
Если это - первая установка MATLAB Parallel Server в кластере машин Windows, необходимо сконфигурировать эти хосты к коммуникациям задания.
Примечание
Если у вас нет кластера Windows, или если вы уже установили предыдущую версию MATLAB Parallel Server в вашем кластере Windows, можно пропустить этот шаг.
Если вы используете Windows® брандмауэры на ваших кластерных узлах,
Войдите в систему в качестве пользователя с правами администратора.
Выполните следующее в окне команды DOS.
matlabroot\toolbox\parallel\bin\addMatlabToWindowsFirewall.bat
Эта команда добавляет MATLAB как позволенную программу. Если вы используете другие брандмауэры, необходимо сконфигурировать их для подобного размещения.
Пользователь, которого запускает mjs, как требует доступа к кластерному местоположению установки MATLAB. По умолчанию mjs запускается как пользователь LocalSystem
. Если ваша сеть позволяет LocalSystem
чтобы получить доступ к местоположению установки, можно пропустить этот шаг. (Если вы не уверены в своей конфигурации сети, и доступ предусмотрел LocalSystem
, свяжитесь со службой поддержки установки MathWorks.)
Примечание
Если LocalSystem
не может получить доступ к местоположению установки, необходимо запустить mjs как различный пользователь.
Можно установить различного пользователя с этими шагами:
С любым стандартным текстовым редактором (таким как WordPad) открывают mjs_def
файл, найденный в:
matlabroot\toolbox\parallel\bin\mjs_def.bat
Найдите линию для установки MJSUSER
параметр, и вводит значение в форме domain\username
:
set MJSUSER=mydomain\myusername
Обеспечьте пароль пользователя путем установки MJSPASS
параметр:
set MJSPASS=password
Сохраните файл.
mjs
сервис использует столько же портов как требуется, начиная с BASE_PORT
. По умолчанию, BASE_PORT
27350.
Если вы используете машину, которая запускает в общей сложности nJ
менеджеры по заданию и nW
рабочие, mjs
сервис резервирует в общей сложности 6+2*nJ+4*nW
последовательные порты для его собственного использования. Все менеджеры по заданию и рабочие, даже те на различных хостах, которые собираются работать совместно, должны использовать тот же основной порт. В противном случае менеджеры по заданию и рабочие не смогут связаться друг с другом. Кроме того, коммуникация MPI происходит на портах, запускающихся в BASE_PORT+1000
и используйте 2*nW
последовательные порты.
Например, если вы используете машину с 1 менеджером по заданию и 16 рабочими, затем вам нужны следующие области значений портов, чтобы быть открытыми:
27350 – 27422 для mjs сервиса.
28350 – 28382 для коммуникации MPI.
Соединяться от MATLAB до кластера с BASE_PORT
не по умолчанию, необходимо добавить значение
BASE_PORT
к 'Host'
свойство в профиле кластера Планировщика Задания MATLAB. Необходимо сделать это в форме Hostname:BASE_PORT
, например, myMJSHost:44001
.
Если у вас есть более старая версия MATLAB Parallel Server, работающего на ваших кластерных узлах, необходимо остановить mjs сервисы прежде, чем запустить услуги по новой установке.
Откройте окно команды DOS с необходимыми привилегиями:
Если вы используете Windows 7 или Windows Vista™, необходимо запустить командное окно с правами администратора. Щелкните меню Windows Запускаются> (Все) Программы> Аксессуары; затем щелкните правой кнопкой по Command Window и выберите Run как Администратора. Эта опция доступна, только если вы запускаете Управление учетными записями пользователей (UAC).
Если вы используете Windows XP, открываете окно команды DOS путем выбора меню Windows Start> Run, то в поле Open, ввести
cmd
В командном окне перейдите к папке старой установки, которая содержит скрипты управления.
cd oldmatlabroot\toolbox\parallel\bin
Остановите и удалите старый сервис и удалите его связанные файлы путем ввода следующей команды.
mjs uninstall -clean
В релизах перед R2019a сервис называется mdce. Введите следующие команды вместо этого.
cd oldmatlabroot\toolbox\distcomp\bin mdce uninstall -clean
Примечание
Используя -clean
флаг постоянно удаляет все существующие данные о задании. Убедитесь, что эти данные больше не необходимы прежде, чем удалить его.
Повторите инструкции этого шага на всех узлах рабочего.
Войдите в систему как корень. Если вы не можете войти в систему как корень, необходимо изменить следующие параметры в
файл, чтобы указать на папку, для которой у вас есть привилегии записи: oldmatlabroot
/toolbox/parallel/bin/mjs_def.shCHECKPOINTBASE
, LOGBASE
, PIDBASE
, и LOCKBASE
если применимо. В релизах перед R2019a этим файлом является
вместо этого.oldmatlabroot
/toolbox/distcomp/bin/mdce_def.sh
На каждом кластерном узле остановите mjs сервис и удалите его связанные файлы путем ввода команд:
cd oldmatlabroot/toolbox/parallel/bin ./mjs stop -clean
В релизах перед R2019a сервис называется mdce. Введите следующую команду вместо этого.
cd oldmatlabroot/toolbox/distcomp/bin ./mdce stop -clean
Примечание
Используя -clean
флаг постоянно удаляет все существующие данные о задании. Убедитесь, что эти данные больше не необходимы прежде, чем удалить его.
Прежде, чем запустить mjs сервис на ваши кластерные узлы, набор уровень безопасности. Для инструкций смотрите Набор Уровень безопасности. Для дополнительных факторов безопасности смотрите Набор безопасность Кластера Планировщика Задания MATLAB.
Можно запустить Планировщик Задания MATLAB с помощью графического интерфейса или командной строки. Для получения инструкций по тому, как использовать графический интерфейс, смотрите, Конфигурируют Планировщик Задания MATLAB. Чтобы использовать графический интерфейс, Центр Администратора, необходимо запустить его на компьютере, который имеет прямое сетевое соединение ко всем узлам кластера. Если вы не можете запустить Центр Администратора на таком компьютере, необходимо использовать интерфейс командной строки. Для получения инструкций по тому, как использовать интерфейс командной строки, выполните следующие шаги.
Запустите mjs Сервис
Необходимо установить mjs сервис на все узлы (главный узел и узлы рабочего). Начните на главном узле.
Откройте окно команды DOS с необходимыми привилегиями:
Если вы используете Windows или Windows Vista, необходимо запустить командное окно с правами администратора. Щелкните меню Windows Запускаются> (Все) Программы> Аксессуары; затем щелкните правой кнопкой по Command Window и выберите Run как Администратора. Эта опция доступна, только если вы запускаете Управление учетными записями пользователей (UAC).
Если вы используете Windows XP, открываете окно команды DOS путем выбора меню Windows Start> Run, то в поле Open, введите:
cmd
В окне команды DOS перейдите к папке со скриптами управления:
cd matlabroot\toolbox\parallel\bin
Установите mjs сервис путем ввода команды:
mjs install
Запустите mjs сервис путем ввода команды:
mjs start
Повторите инструкции этого шага на всех узлах рабочего.
Как альтернатива пунктам 3-5, можно установить и запустить mjs сервис на несколько узлов удаленно от одной машины путем ввода:
cd matlabroot\toolbox\parallel\bin remotemjs install -remotehost hostA,hostB,hostC . . . remotemjs start -remotehost hostA,hostB,hostC . . .
где hostA,hostB,hostC
обращается к списку ваших имен хоста. Обратите внимание на то, что нет никаких пробелов между именами хоста, только запятой. Если необходимо указать на протокол, платформа (такой как в комбинированной среде), или другая информация, смотрите справку для remotemjs
путем ввода:
remotemjs -help
После того, как установленный, mjs услуга начинает работать каждый раз перезагрузки машины. mjs услуга продолжает работать, пока явным образом не остановлено или удалено, независимо от того, запускаются ли Планировщик Задания MATLAB или сеанс рабочего.
Запустите планировщик задания MATLAB
Чтобы запустить Планировщик Задания MATLAB, введите следующие команды в окно команды DOS. Вы не должны быть в машине, на которой Планировщик Задания MATLAB запускается, пока у вас есть доступ к установке MATLAB Parallel Server.
В вашем окне команды DOS перейдите к папке со скриптами запуска:
cd matlabroot\toolbox\parallel\bin
Запустите Планировщик Задания MATLAB, с помощью любого уникального текста, вы хотите для имени <MyMJS>
:
startjobmanager -name <MyMJS> -remotehost <MATLAB Job Scheduler host name> -v
Проверьте, что Планировщик Задания MATLAB работает на намеченном хосте.
nodestatus -remotehost <MATLAB Job Scheduler host name>
Примечание
Если вы выполняете startjobmanager
на хосте, куда Планировщик Задания MATLAB запускается, вы не должны задавать -remotehost
флаг.
Если у вас есть больше чем один Планировщик Задания MATLAB в вашем кластере, у каждого должно быть уникальное имя.
Запустите рабочих
Примечание
Прежде чем можно будет запустить рабочего на машине, mjs сервис должен уже работать на той машине. Если вы используете сетевой менеджер лицензий, он должен работать на сети.
Для каждого узла, используемого в качестве рабочего, введите следующие команды в окно команды DOS. Вы не должны быть в машинах, куда работники MATLAB запустятся, пока у вас есть доступ к установке MATLAB Parallel Server.
Перейдите к папке со скриптами запуска:
cd matlabroot\toolbox\parallel\bin
Запустите рабочих на каждом узле, с помощью текста для <MyMJS>
это идентифицирует имя Планировщика Задания MATLAB, с которым вы хотите этого рабочего, указанного. Введите этот текст на одной строке:
startworker -jobmanagerhost <MATLAB Job Scheduler host name> -jobmanager <MyMJS> -remotehost <worker host name> -v
Чтобы запустить больше чем один сеанс рабочего на том же узле, дайте каждому рабочему уникальное имя включением -name
опция на startworker
команда и запуск это для каждого рабочего на том узле:
startworker ... -name <worker1 name> startworker ... -name <worker2 name>
Проверьте, что рабочие запускаются.
nodestatus -remotehost <worker host name>
Повторите пункты 2-3 для всех узлов рабочего.
Для получения дополнительной информации о mjs, Планировщик Задания MATLAB и рабочие процессы, такой как, как завершить работу их или настроить их, видят Индивидуальную настройку Кластера Планировщика Задания MATLAB.
Запустите mjs Сервис
На каждом кластерном узле запустите mjs сервис путем ввода команд:
cd matlabroot/toolbox/parallel/bin ./mjs start
Кроме того (на Linux, но не Macintosh), можно запустить mjs сервис на несколько узлов удаленно от одной машины путем ввода
cd matlabroot/toolbox/parallel/bin ./remotemjs start -remotehost hostA,hostB,hostC . . .
где hostA,hostB,hostC
обращается к списку ваших имен хоста. Обратите внимание на то, что нет никаких пробелов между именами хоста, только запятой. Если необходимо указать на протокол, платформа (такой как в комбинированной среде), или другая информация, смотрите справку для remotemjs
путем ввода
./remotemjs -help
Запустите планировщик задания MATLAB
Чтобы запустить Планировщик Задания MATLAB, введите следующие команды. Вы не должны быть в машине, на которой Планировщик Задания MATLAB запускается, пока у вас есть доступ к установке MATLAB Parallel Server.
Перейдите к папке со скриптами запуска:
cd matlabroot/toolbox/parallel/bin
Запустите Планировщик Задания MATLAB, с помощью любого уникального текста, вы хотите для имени <MyMJS>
. Введите этот текст на одной строке.
./startjobmanager -name <MyMJS> -remotehost <MATLAB Job Scheduler host name> -v
Проверьте, что Планировщик Задания MATLAB работает на намеченном хосте:
./nodestatus -remotehost <MATLAB Job Scheduler host name>
Примечание
Если у вас есть больше чем один Планировщик Задания MATLAB в вашем кластере, у каждого должно быть уникальное имя.
Запустите рабочих
Примечание
Прежде чем можно будет запустить рабочего на машине, mjs сервис должен уже работать на той машине. Если вы используете сетевой менеджер лицензий, он должен работать на сети.
Для каждого компьютера, размещающего работника MATLAB, введите следующие команды. Вы не должны быть в машинах, куда работники MATLAB запускаются, пока у вас есть доступ к установке MATLAB Parallel Server.
Перейдите к папке со скриптами запуска:
cd matlabroot/toolbox/parallel/bin
Запустите рабочих на каждом узле, с помощью текста для <MyMJS>
это идентифицирует имя Планировщика Задания MATLAB, с которым вы хотите этого рабочего, указанного. Введите этот текст на одной строке:
./startworker -jobmanagerhost <MATLAB Job Scheduler host name> -jobmanager <MyMJS> -remotehost <worker host name> -v
Чтобы запустить больше чем один сеанс рабочего на той же машине, дайте каждому рабочему уникальное имя с -name
опция:
./startworker ... -name <worker1> ./startworker ... -name <worker2>
Проверьте, что рабочие запускаются. Повторите эту команду для каждого узла рабочего:
./nodestatus -remotehost <worker host name>
Для получения дополнительной информации о mjs, Планировщик Задания MATLAB и рабочие процессы, такой как, как завершить работу их или настроить их, видят Индивидуальную настройку Кластера Планировщика Задания MATLAB.
Несмотря на то, что этот шаг не требуется, это полезно в случае системного катастрофического отказа. После того, как сконфигурированный для этого, mjs услуга начинает работать каждый раз перезагрузки машины. mjs услуга продолжает работать, пока явным образом не остановлено, независимо от того, запускаются ли Планировщик Задания MATLAB или сеанс рабочего.
У вас должны быть полномочия пользователя root выполнить этот шаг.
Выберите свою платформу:
На каждом кластерном узле укажите mjs сервис как известный сервис и сконфигурируйте его, чтобы запуститься автоматически во время начальной загрузки системы путем выполнения этих шагов:
Создайте следующую ссылку, если она уже не существует:
ln -s matlabroot/toolbox/parallel/bin/mjs /etc/mjs
Создайте следующую ссылку на файл скрипта начальной загрузки:
ln -s matlabroot/toolbox/parallel/bin/mjs /etc/init.d/mjs
Установите полномочия файла скрипта начальной загрузки:
chmod 555 /etc/init.d/mjs
Найдите свой уровень выполнения по умолчанию. Если у вас есть машина SysV linux, можно определить уровень выполнения по умолчанию путем начальной загрузки машины и сразу выполнения $runlevel
команда. Второй номер выход является уровнем выполнения по умолчанию вашей системы. Если ваша машина Linux не поддерживает SysV, посмотрите в /etc/inittab
для уровня выполнения по умолчанию.
Когда вы определите уровень выполнения, создайте ссылку в rc
папка сопоставлена с тем уровнем выполнения. Например, если уровнем выполнения является 5
, выполните один из следующих наборов специфичных для платформы команд.
Debian и платформы Fedora:
cd /etc/rc5.d; ln -s ../init.d/mjs S99MJS
Платформа SUSE:
cd /etc/init.d/rc5.d; ln -s ../mjs S99MJS
Платформа Red Hat (не-Fedora):
cd /etc/rc.d/rc5.d; ln -s ../../init.d/mjs S99MJS
На каждом кластерном узле укажите mjs сервис как известный сервис с launchd и сконфигурируйте его, чтобы запуститься автоматически во время начальной загрузки системы путем выполнения этих шагов:
Перейдите к папке тулбокса и остановите выполнение mjs сервис:
cd matlabroot/toolbox/parallel/bin sudo ./mjs stop
Создайте следующую ссылку, если она уже не существует:
sudo mkdir -p /usr/local/sbin/ sudo ln -s matlabroot/toolbox/parallel/bin/mjs /usr/local/sbin/mjs
Скопируйте launchd .plist
файл для mjs к /Library/LaunchDaemons
:
sudo cp ./util/com.mathworks.mjs.plist /Library/LaunchDaemons
Откройте скопированный .plist
файл в текстовом редакторе. Убедитесь, что ведущая роль StandardOutPath
и StandardErrorPath
поля совпадают с LOGBASE
значение, как задано в mjs_def.sh
файл. Например, если LOGBASE
/var/log/mjs
, затем необходимо задать StandardOutPath
и StandardErrorPath
можно следующим образом:
<key>StandardOutPath</key> <string>/var/log/mjs/launchctl.stdout</string> <key>StandardErrorPath</key> <string>/var/log/mjs/launchctl.stderr</string>
Перезапустите свою машину и заметьте, что mjs запускает использование nodestatus
:
cd matlabroot/toolbox/parallel/bin ./nodestatus
Чтобы проверить, что ваши продукты MATLAB Parallel Server установлены и сконфигурированы правильно, создайте кластерный профиль и подтвердите его. Для инструкций смотрите Подключение Клиент MATLAB к Кластеру MATLAB Parallel Server. Можно задать количество рабочих, чтобы использовать при проверке профиля, постараться не занимать целый кластер. Если ваша валидация не передает, свяжитесь со Службой поддержки MathWorks Install или смотрите Типичные проблемы Поиска и устранения неисправностей.
После того, как вы создадите кластерный профиль, можно сделать любые модификации подходящими для приложений, таких как NumWorkersRange
, AttachedFiles
, или AdditionalPaths
. Чтобы сохранить ваш профиль для других пользователей, в Кластерном менеджере по Профилю, выбирают профиль и нажимают Export, затем сохраняют ваш профиль в файл в удобном месте. Позже, при выполнении Кластерного менеджера по Профилю, другие пользователи могут импортировать профиль путем нажатия на Import. Для получения дополнительной информации о кластерных профилях, смотрите, Обнаруживают Кластеры и Профили Кластера Использования (Parallel Computing Toolbox).