Сконфигурируйте расширенные настройки для интегрирования планировщика задания MATLAB

Следуйте этим инструкциям, чтобы сконфигурировать расширенные настройки во время интегрирования Планировщика MATLAB® Job с вашим кластером.

Примечание

Если это - первый раз, когда вы интегрируете Планировщик Задания MATLAB, видите следующее для наиболее распространенных параметров конфигурации: Интегрируйте Планировщик Задания MATLAB для Сетевого менеджера лицензий.

В следующих инструкциях matlabroot относится к местоположению вашего установленного программного обеспечения MATLAB Parallel Server™. Где вы видите этот термин, использованный в инструкциях, которые следуют, заменяют путем к вашему местоположению.

Запустите несколько версий MATLAB Parallel Server

Можно обновить кластеры Планировщика Задания MATLAB и продолжить использовать релиз R2016a вперед Parallel Computing Toolbox на клиенте рабочего стола MATLAB, чтобы соединиться с ним. Использовать в своих интересах эту функцию обратной совместимости:

  1. Установите последнюю версию MATLAB Parallel Server на вашем кластере. Необходимо использовать эту версию, чтобы запустить Планировщик Задания MATLAB на кластере.

  2. Установите MATLAB Parallel Server для каждого релиза, который вы хотите поддержать в кластере. Например, чтобы использовать R2016a и R2016b с вашим кластером, установите и R2016a и релизы R2016b MATLAB Parallel Server.

  3. Сконфигурируйте Планировщик Задания MATLAB с местоположением этих установок. В конфигурационном файле mjs_def задайте местоположение каждой установки MATLAB Parallel Server в переменной MJS_ADDITIONAL_MATLABROOTS. Можно найти этот файл в matlabroot/toolbox/distcomp/bin для Linux (mjs_def.sh) и Windows (mjs_def.bat). Для получения дополнительной информации см. mjs.

С этой настройкой Планировщик Задания MATLAB позволяет клиентам MATLAB от установленных релизов представлять задания кластеру. Планировщик Задания MATLAB динамически запускает правильную версию работника MATLAB, чтобы запустить задание.

Настройте Windows Cluster Hosts

Если это - первая установка MATLAB Parallel Server на кластере машин Windows, необходимо сконфигурировать эти хосты к коммуникациям задания.

Примечание

Если у вас нет кластера Windows, или если вы уже установили предыдущую версию MATLAB Parallel Server на вашем кластере Windows, можно пропустить этот шаг.

Сконфигурируйте Windows Firewalls на клиенте

Если вы используете брандмауэры Windows® на своих кластерных узлах,

  1. Войдите в систему в качестве пользователя с правами администратора.

  2. Выполните следующее в окне команды DOS.

    matlabroot\toolbox\distcomp\bin\addMatlabToWindowsFirewall.bat
    

    Эта команда добавляет MATLAB как позволенную программу. Если вы используете другие брандмауэры, необходимо сконфигурировать их для подобного размещения.

Сконфигурируйте пользователя Windows доступ для mjs

Пользователь, которого запускает mjs, как требует доступа к кластерному местоположению установки MATLAB. По умолчанию mjs запускается как пользователь LocalSystem. Если ваша сеть позволяет LocalSystem получать доступ к местоположению установки, можно пропустить этот шаг. (Если вы не уверены в своей конфигурации сети, и доступ предусмотрел LocalSystem, свяжитесь со службой поддержки установки MathWorks.)

Примечание

Если LocalSystem не может получить доступ к местоположению установки, необходимо запустить mjs как различный пользователь.

Можно установить различного пользователя с этими шагами:

  1. С любым стандартным текстовым редактором (таким как WordPad) открывают файл mjs_def, найденный в:

    matlabroot\toolbox\distcomp\bin\mjs_def.bat
  2. Найдите строку для установки параметра MJSUSER и обеспечьте значение в форме domain\username:

    set MJSUSER=mydomain\myusername
  3. Обеспечьте пароль пользователя путем установки параметра MJSPASS:

    set MJSPASS=password
  4. Сохраните файл.

Сконфигурируйте брандмауэры на сервере

Сервис 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.

Остановите mjs Услуги по Старой Установке

Если у вас есть более старая версия MATLAB Parallel Server, работающего на ваших кластерных узлах, необходимо остановить mjs сервисы прежде, чем запустить услуги по новой установке.

Остановите mjs на Windows

  1. Откройте окно команды DOS с необходимыми привилегиями:

    1. Если вы используете Windows 7 или Windows Vista™, необходимо запустить командное окно с правами администратора. Щелкните меню Windows Запускаются> (Все) Программы> Аксессуары; затем щелкните правой кнопкой по Command Window и выберите Run как Администратора. Эта опция доступна, только если вы запускаете Управление учетными записями пользователей (UAC).

    2. Если вы используете Windows XP, открываете окно команды DOS путем выбора меню Windows Start> Run, то в поле Open, ввести

      cmd
      
  2. В командном окне перейдите к папке старой установки, которая содержит скрипты управления.

    cd oldmatlabroot\toolbox\distcomp\bin
    
  3. Остановите и удалите старый сервис и удалите его связанные файлы путем ввода следующей команды.

    mjs uninstall -clean
    

    В релизах перед R2019a сервис называется mdce. Введите следующую команду вместо этого.

    mdce uninstall -clean
    

    Примечание

    Используя флаг -clean постоянно удаляет все существующие данные о задании. Убедитесь, что эти данные больше не необходимы прежде, чем удалить его.

  4. Повторите инструкции этого шага на всех узлах рабочего.

Остановите mjs на UNIX

  1. Войдите в систему как корень. Если вы не можете войти в систему как корень, необходимо изменить следующие параметры в файле oldmatlabroot/toolbox/distcomp/bin/mjs_def.sh, чтобы указать на папку, для которой у вас есть привилегии записи: CHECKPOINTBASE, LOGBASE, PIDBASE и LOCKBASE если применимо. В релизах перед R2019a этим файлом является oldmatlabroot/toolbox/distcomp/bin/mdce_def.sh вместо этого.

  2. На каждом кластерном узле остановите mjs сервис и удалите его связанные файлы путем ввода команд:

    cd oldmatlabroot/toolbox/distcomp/bin
    ./mjs stop -clean

    В релизах перед R2019a сервис называется mdce. Введите следующую команду вместо этого.

    cd oldmatlabroot/toolbox/distcomp/bin
    ./mdce stop -clean

    Примечание

    Используя флаг -clean постоянно удаляет все существующие данные о задании. Убедитесь, что эти данные больше не необходимы прежде, чем удалить его.

Установите уровень безопасности планировщика задания MATLAB

Прежде, чем запустить mjs сервис на ваши кластерные узлы, набор уровень безопасности. Для инструкций смотрите Набор Уровень безопасности. Для дополнительных факторов безопасности смотрите Набор безопасность Кластера Планировщика Задания MATLAB.

Запустите mjs Сервис, Планировщик Задания MATLAB и Рабочих (Командная строка)

Можно запустить Планировщик Задания MATLAB с помощью графического интерфейса или командной строки. Для получения инструкций по тому, как использовать графический интерфейс, смотрите, Конфигурируют Планировщик Задания MATLAB с Центром Администратора. Чтобы использовать графический интерфейс, Центр Администратора, необходимо запустить его на компьютере, который имеет прямое сетевое соединение ко всем узлам кластера. Если вы не можете запустить Центр Администратора на таком компьютере, необходимо использовать интерфейс командной строки. Для получения инструкций по тому, как использовать интерфейс командной строки, выполните следующие шаги.

Используйте интерфейс командной строки (Windows)

  1. Запустите mjs Сервис

    Необходимо установить mjs сервис на все узлы (главный узел и узлы рабочего). Начните на главном узле.

    1. Откройте окно команды DOS с необходимыми привилегиями:

      1. Если вы используете Windows или Windows Vista, необходимо запустить командное окно с правами администратора. Щелкните меню Windows Запускаются> (Все) Программы> Аксессуары; затем щелкните правой кнопкой по Command Window и выберите Run как Администратора. Эта опция доступна, только если вы запускаете Управление учетными записями пользователей (UAC).

      2. Если вы используете Windows XP, открываете окно команды DOS путем выбора меню Windows Start> Run, то в поле Open, введите:

        cmd
        
    2. В окне команды DOS перейдите к папке со скриптами управления:

      cd matlabroot\toolbox\distcomp\bin
      
    3. Установите mjs сервис путем ввода команды:

      mjs install
      
    4. Запустите mjs сервис путем ввода команды:

      mjs start
      
    5. Повторите инструкции этого шага на всех узлах рабочего.

    Как альтернатива пунктам 3-5, можно установить и запустить mjs сервис на несколько узлов удаленно от одной машины путем ввода:

    cd matlabroot\toolbox\distcomp\bin
    remotemjs install -remotehost hostA,hostB,hostC . . .
    remotemjs start -remotehost hostA,hostB,hostC . . .
    

    где hostA,hostB,hostC обращается к списку ваших имен хоста. Обратите внимание на то, что нет никаких пробелов между именами хоста, только запятой. Если необходимо указать на протокол, платформа (такой как в комбинированной среде), или другая информация, смотрите справку для remotemjs путем ввода:

    remotemjs -help
    

    После того, как установленный, mjs услуга начинает работать каждый раз перезагрузки машины. mjs услуга продолжает работать, пока явным образом не остановлено или удалено, независимо от того, запускаются ли Планировщик Задания MATLAB или сеанс рабочего.

  2. Запустите планировщик задания MATLAB

    Чтобы запустить Планировщик Задания MATLAB, введите следующие команды в окно команды DOS. Вы не должны быть в машине, на которой Планировщик Задания MATLAB запускается, пока у вас есть доступ к установке MATLAB Parallel Server.

    1. В вашем окне команды DOS перейдите к папке со скриптами запуска:

      cd matlabroot\toolbox\distcomp\bin
      
    2. Запустите Планировщик Задания MATLAB, с помощью любого уникального текста, вы хотите для имени <MyMJS>:

      startjobmanager -name <MyMJS> -remotehost <MATLAB Job Scheduler host name> -v
    3. Проверьте, что Планировщик Задания MATLAB работает на намеченном хосте.

      nodestatus -remotehost <MATLAB Job Scheduler host name>
      

      Примечание

      Если вы выполняете startjobmanager на хосте, куда Планировщик Задания MATLAB запускается, вы не должны задавать флаг -remotehost.

      Если у вас есть больше чем один Планировщик Задания MATLAB на вашем кластере, у каждого должно быть уникальное имя.

  3. Запустите рабочих

    Примечание

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

    Для каждого узла, используемого в качестве рабочего, введите следующие команды в окно команды DOS. Вы не должны быть в машинах, куда работники MATLAB запустятся, пока у вас есть доступ к установке MATLAB Parallel Server.

    1. Перейдите к папке со скриптами запуска:

      cd matlabroot\toolbox\distcomp\bin
      
    2. Запустите рабочих на каждом узле, с помощью текста для <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>
      
    3. Проверьте, что рабочие запускаются.

      nodestatus -remotehost <worker host name>
      
    4. Повторите пункты 2-3 для всех узлов рабочего.

    Для получения дополнительной информации о mjs, Планировщик Задания MATLAB и рабочие процессы, такой как, как завершить работу их или настроить их, видят Индивидуальную настройку Кластера Планировщика Задания MATLAB.

Используйте интерфейс командной строки (UNIX)

  1. Запустите mjs Сервис

    На каждом кластерном узле запустите mjs сервис путем ввода команд:

    cd matlabroot/toolbox/distcomp/bin
    ./mjs start

    Кроме того (на Linux, но не Macintosh), можно запустить mjs сервис на несколько узлов удаленно от одной машины путем ввода

    cd matlabroot/toolbox/distcomp/bin
    ./remotemjs start -remotehost hostA,hostB,hostC . . .

    где hostA,hostB,hostC обращается к списку ваших имен хоста. Обратите внимание на то, что нет никаких пробелов между именами хоста, только запятой. Если необходимо указать на протокол, платформа (такой как в комбинированной среде), или другая информация, смотрите справку для remotemjs путем ввода

    ./remotemjs -help
  2. Запустите планировщик задания MATLAB

    Чтобы запустить Планировщик Задания MATLAB, введите следующие команды. Вы не должны быть в машине, на которой Планировщик Задания MATLAB запускается, пока у вас есть доступ к установке MATLAB Parallel Server.

    1. Перейдите к папке со скриптами запуска:

      cd matlabroot/toolbox/distcomp/bin
      
    2. Запустите Планировщик Задания MATLAB, с помощью любого уникального текста, вы хотите для имени <MyMJS>. Введите этот текст на одной строке.

      ./startjobmanager -name <MyMJS> -remotehost <MATLAB Job Scheduler host name> -v
      
    3. Проверьте, что Планировщик Задания MATLAB работает на намеченном хосте:

      ./nodestatus -remotehost <MATLAB Job Scheduler host name>
      

      Примечание

      Если у вас есть больше чем один Планировщик Задания MATLAB на вашем кластере, у каждого должно быть уникальное имя.

  3. Запустите рабочих

    Примечание

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

    Для каждого компьютера, размещающего работника MATLAB, введите следующие команды. Вы не должны быть в машинах, куда работники MATLAB запускаются, пока у вас есть доступ к установке MATLAB Parallel Server.

    1. Перейдите к папке со скриптами запуска:

      cd matlabroot/toolbox/distcomp/bin
      
    2. Запустите рабочих на каждом узле, с помощью текста для <MyMJS>, который идентифицирует имя Планировщика Задания MATLAB, с которым вы хотите этого рабочего, указанного. Введите этот текст на одной строке:

      ./startworker -jobmanagerhost <MATLAB Job Scheduler host name>
         -jobmanager <MyMJS> -remotehost <worker host name> -v
      

      Чтобы запустить больше чем один сеанс рабочего на той же машине, дайте каждому рабочему уникальное имя с опцией -name:

      ./startworker ... -name <worker1>
      ./startworker ... -name <worker2>
      
    3. Проверьте, что рабочие запускаются. Повторите эту команду для каждого узла рабочего:

      ./nodestatus -remotehost <worker host name>
      

    Для получения дополнительной информации о mjs, Планировщик Задания MATLAB и рабочие процессы, такой как, как завершить работу их или настроить их, видят Индивидуальную настройку Кластера Планировщика Задания MATLAB.

Установите mjs Сервис Запуститься Автоматически во Время начальной загрузки (UNIX)

Несмотря на то, что этот шаг не требуется, это полезно в случае системного катастрофического отказа. После того, как сконфигурированный для этого, mjs услуга начинает работать каждый раз перезагрузки машины. mjs услуга продолжает работать, пока явным образом не остановлено, независимо от того, запускаются ли Планировщик Задания MATLAB или сеанс рабочего.

У вас должны быть полномочия пользователя root выполнить этот шаг.

Выберите свою платформу:

Debian, Fedora, SUSE и Red Hat (не-Fedora) платформы

На каждом кластерном узле укажите mjs сервис как известный сервис и сконфигурируйте его, чтобы запуститься автоматически во время начальной загрузки системы путем выполнения этих шагов:

  1. Создайте следующую ссылку, если она уже не существует:

    ln -s matlabroot/toolbox/distcomp/bin/mjs /etc/mjs
    
  2. Создайте следующую ссылку на файл скрипта начальной загрузки:

    ln -s matlabroot/toolbox/distcomp/bin/mjs /etc/init.d/mjs
    
  3. Установите полномочия файла скрипта начальной загрузки:

    chmod 555 /etc/init.d/mjs
    
  4. Найдите свой уровень выполнения по умолчанию. Если у вас есть машина SysV linux, можно определить уровень выполнения по умолчанию путем начальной загрузки машины и сразу выполнения команды $runlevel. Второй номер вывод является уровнем выполнения по умолчанию вашей системы. Если ваша машина Linux не поддерживает SysV, посмотрите в /etc/inittab для уровня выполнения по умолчанию.

  5. Когда вы определите уровень выполнения, создайте ссылку в папке 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
      

Платформа Macintosh

На каждом кластерном узле укажите mjs сервис как известный сервис с launchd и сконфигурируйте его, чтобы запуститься автоматически во время начальной загрузки системы путем выполнения этих шагов:

  1. Перейдите к папке тулбокса и остановите выполнение mjs сервис:

    cd matlabroot/toolbox/distcomp/bin
    sudo ./mjs stop
    
  2. Создайте следующую ссылку, если она уже не существует:

    sudo mkdir -p /usr/local/sbin/
    sudo ln -s matlabroot/toolbox/distcomp/bin/mjs /usr/local/sbin/mjs
    
  3. Скопируйте launchd файл .plist для mjs к /Library/LaunchDaemons:

    sudo cp ./util/com.mathworks.mjs.plist /Library/LaunchDaemons
    
  4. Откройте скопированный файл .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>
    
  5. Перезапустите свою машину и заметьте, что mjs запускает использование nodestatus:

    cd matlabroot/toolbox/distcomp/bin
    ./nodestatus
    

Подтвердите установку с планировщиком задания MATLAB

Чтобы проверить, что ваши продукты MATLAB Parallel Server установлены и сконфигурированы правильно, создайте кластерный профиль и подтвердите его. Для инструкций смотрите Подключение Клиент MATLAB к Кластеру MATLAB Parallel Server. Можно задать количество рабочих, чтобы использовать при проверке профиля, постараться не занимать целый кластер. Если ваша валидация не передает, свяжитесь со Службой поддержки MathWorks Install или смотрите Типичные проблемы Поиска и устранения неисправностей.

После того, как вы создадите кластерный профиль, можно сделать любые модификации подходящими для приложений, таких как NumWorkersRange, AttachedFiles или AdditionalPaths. Чтобы сохранить ваш профиль для других пользователей, в Кластерном менеджере по Профилю, выбирают профиль и нажимают Export, затем сохраняют ваш профиль в файл в удобном месте. Позже, при выполнении Кластерного менеджера по Профилю, другие пользователи могут импортировать профиль путем нажатия на Import. Для получения дополнительной информации о кластерных профилях, смотрите, Обнаруживают Кластеры и Профили Кластера Использования (Parallel Computing Toolbox).

Связанные примеры

Больше о