GridNNN
 Главная  Инфраструктура  Поддержка  Trac  Для разработчиков  

Интерфейс командной строки системы управления выполнением заданий

Данная инструкция описывает процесс установки и настройки программной среды ГридННС, необходимой для работы с серсивом распределения и контроля заданий Пилот (СРКЗ Пилот) и для работы с серверами передачи данных GridFTP через интерфейс командной строки (ИКС).

Инструкция предполагает, что на компьютере пользователя установлен один из следующих Linux-дистрибутивов: CentOS 5.x, Red Hat Enterprise Linux 5.x, или Scientific Linux 5.x. Для других дистрибутивов Linux установка существующих бинарных файлов с ИКС-клиентами может либо потребовать дополнительных действий, либо оказаться невозможной.

Внимание! Для выполнения ряда команд Вам понадобится права пользователя root.

В случае возникновения проблем, сообщите о них через систему билетов ГридННС или обсудите со своими коллегами через список рассылки для пользователей ГридННН.

Предварительные требования

Для работы ИКС-клиента СРКЗ Пилот необходимы пакеты ПО, входящие в репозиторий ПО Extra Packages for Enterprise Linux (EPEL). Чтобы подключить этот репозиторий воспользуйтесь инструкцией с сайта репозитория, а так же инструкцией по использованию yum-priorities. Кратко эти инструкции изложены далее. Если к вашей системе уже подключен репозиторий EPEL, шаги из данного раздела можно пропустить.

Все действия, описываемые далее в настоящем разделе необходимо выполнять от пользователя root.

  • Установка и настройка yum-priorities
    1. Установите пакет yum-priorities:
      yum install yum-priorities
      
    2. Убедитесь, что плагин активен. Для этого откройте в редакторе файл /etc/yum/pluginconf.d/priorities.conf и убедитесь, что в нем есть строки:
      [main]
      enabled=1
      

      Добавьте их при необходимости.

    3. Настройте приоритеты системных репозиториев. В файле /etc/yum.repos.d/CentOS-Base.repo добавьте строчку
      priority=1
      

      в секции [base], [updates], [addons], [extras]; строчку

      priority=2
      

      в секции [centosplus], [contrib].

  • Установка и настройка EPEL
    1. Установите пакет epel-release-5-3.noarch.rpm:
      rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
      
    2. Отредактируйте файл /etc/yum.repos.d/epel.repo, добавьте строчку
      priority=20
      

      в секцию [epel].

Установка ИКС-клиента СРКЗ Пилот

Подключите к системе репозиторий ГридННС. Для этого сохраните файл ngrid.repo в директорию /etc/yum.repos.d, это можно сделать командой:

su -c "wget -O /etc/yum.repos.d/ngrid.repo http://koji.ngrid.ru/ngrid.repo"

После этого для установки pilot cli достаточно выполнить команду:

su -c "yum install pilot-cli"

Обновления pilot cli будут устанавливаться автоматически при обновлении системы (например, командой yum update).

Установите переменную окружения в соответствии адресом сервера СРКЗ Пилот (его можно найти на сайте службы регистрации ресурсов и грид-сервисов ГридННС (https://reg.ngrid.ru)). Например,

$ export PILOT_SERVER='https://tb01.ngrid.ru:5053/'

Для того, чтобы не делать этого при каждом входе в систему, включите указанные строки с экспортом значений переменных в rc-файл соответствующей Linux-оболочки, например, в файл .bashrc (в случае использования оболочки bash).

Переодически выпускаются обновления для pilot-cli, которые публикуются в репозитории ngrid. При возникновении любых проблем рекомендуется сначала проверить наличие обновлений и установить их, если они есть. Для этого необходимо выполнить команду:

yum update pilot-cli

Установка ИКС-клиента GridFTP

Для передачи файлов с данными (входные данные для задач и результаты вычислений) с компьютера пользователя в среду ГридННС и обратно используется протокол GridFTP. Поэтому на компьютере пользователя должен быть установлена клиентская программа GridFTP, которая находится в репозитории EPEL (см. Предварительные требования). Для ее установки необходимо выполнить команду:

su -c "yum install globus-gass-copy-progs"

Установка и настройка подсистемы безопасности

Для работы с сертификатами ГридННС необходимо установить пакет ca_GridNNN, это можно сделать выполнив команду:

su -c "rpm -ivh http://rep.grid.kiae.ru/nng/noarch/ca/ca_GridNNN-1.0-0.noarch.rpm"

Цифровой сертификат и закрытый ключ пользователя необходимо поместить (скопировать) в директорию .globus, находящуюся в домашней директории пользователя:

$ ls -l $HOME/.globus
-rw-------. 1 xxx xxx 4767 2010-03-16 19:28 usercert.pem
-r--------. 1 xxx xxx 1041 2010-03-16 19:28 userkey.pem

Кроме того, необходимо установить пакеты для работы с прокси-сертификатами и сервисами VOMS и MyProxy:

su -c "yum install voms-clients myproxy-client"

Эти пакеты доступны в репозитории EPEL (см. Предварительные требования).

Настройка клиента сервиса виртуальных организаций voms.ngrid.ru

Для настройки VOMS-клиентов на использование виртуальных организаций, размещенных на сервере voms.ngrid.ru, можно установить пакет ngrid-voms, который доступен в репозитории ГридННС:

su -c "yum install ngrid-voms"

Использование программ интерфейса командной строки

Работа с прокси-сертификатами

Создание прокси-сертификатов

Для запуска заданий в грид-среду требуются прокси-сертификаты. В рамках ИКС они могут быть созданы с помощью программы voms-proxy-init, позволяющей создать прокси-сертификат с VOMS-расширениями, или без них.

Для создания прокси-сертификата без расширений необходимо выполнить команду:

voms-proxy-init -rfc

Для создания прокси-сертификата с VOMS-расширениями необходимо выполнить команду:

voms-proxy-init -rfc -voms voname

Здесь voname - название виртуальной организации.

Для добавления VOMS-расширений к уже существующему прокси-сертификату необходимо выполнить команду:

voms-proxy-init -rfc -noregen -voms voname

Для того, чтобы узнать о дополнительных возможностях программы voms-proxy-init, выполните команду

voms-proxy-init -help

или обратитесь к странице документации voms-proxy-init(1).

Уничтожение прокси-сертификатов

Для уничтожения прокси-сертификата достаточно выполнить команду:

voms-proxy-destroy

Для того, чтобы узнать о дополнительных возможностях программы voms-proxy-destroy, выполните команду

voms-proxy-destroy -help

или обратитесь к странице документации voms-proxy-destroy(1).

Получение информации о прокси-сертификате

Для получения подробной информации о прокси-сертификате достаточно выполнить команду:

voms-proxy-info -all

Для того, чтобы узнать о дополнительных возможностях программы voms-proxy-info, выполните команду

voms-proxy-info -help

или обратитесь к странице документации voms-proxy-info(1).

Команды запуска и управления выполнением заданий

Эти команды имею формат

pilot-* [options] ...

и набор общих опций (то есть эти опции могут быть использованы для любой команды), указанный в следующей таблице:

Опция Пояснение Дефолтное значение
-h, –help вывод краткой информаци о команде
–version вывод версии ИКС СРКЗ Пилот
–usercert=FILE местоположение сертификата /home/username/.globus/usercert.pem
–userkey=FILE местоположение закрытого ключа /home/username/.globus/userkey.pem
–userkeypass=XXX password для закрытого ключа читается из stdin
–prox=FILE имя файла прокси-сертификата /tmp/x509up_u500
–noproxy использование сертификата вместо прокси использование прокси-сертификата
–output=DIR директория для output . (директория, в которой запускается команда)
-j, –json вывод в формате JSON; подразумевает включение опции -q выключено
-v, –verbose включение детальных сообщений выключено
-q, –quiet отсутствие сообщений для чтения человеком выключено
–debug=LEVEL уровень отладки 50 - fatal errors
–log=FILE файл записи отладочных сообщений stderr
–url=URL URL СРКЗ Пилот $PILOT_SERVER
–help-exit-codes вывод кодов возврата ИКС-клиента

Ниже приводятся только те опции команд, которые не являются общими.

запуск задания:

pilot-job-submit [options] job_definition.js

Команда pilot-job-submit возвращает идентификационный номер запущенного задания, который используется затем в других командах для получения информации и управления выполнением задания. Пример:

$  pilot-job-submit test.js

Job was successfully submitted to Pilot service.
Job URI:
    https://tb01.ngrid.ru:5053/jobs/19

получение информации о статусе задания:

pilot-job-status [options] URI

Вместо URI надо подставить идентификатор задания, полученный в результате выполнения команды pilot-job-submit.

получение информации о статусе задачи:

pilot-task-status [options] URI

Вместо URI надо подставить идентификатор задания, полученный в результате выполнения команды pilot-job-submit и через слэш идентификационный номер задачи в задании, присвоенный ей в файле описания задания (см. Описание заданий и задач на языке JSON). Например, если идентификатор задания:

https://tb01.ngrid.ru:5053/jobs/19

а идентификатор задачи: “а”, то в качестве URI в данной команде надо подставить:

https://tb01.ngrid.ru:5053/jobs/19/a

получение детальной информации о задании, включая историю изменения его статусов:

pilot-job-info [options] URI

приостановка выполнения задания:

pilot-job-pause [options] URI

Все выполняющиеся задачи это задания будут продолжать выполняться до завершения, а новые задачи запускаться не будут до возобновления выполнения с помощью команды pilot-job-resume:

возобновления выполнения задания

pilot-job-resume [options] URI

прекращение выполнения запущенного задания

pilot-job-cancel [options] URI

прекращение выполнения всех заданий, запущенных данным пользователем

pilot-cancel-my-jobs [options]

запрос списка всех заданий, запущенных данным пользователем

pilot-query-jobs [options]

вывод версии сервера СРКЗ Пилот

pilot-server-version [options]

Управление данными с помощью ИКС-клиента GridFTP

Для передачи входных файлов на сервер GridFTP и получения файлов с результатами заданий с сервера, указанного в описании задания (см. Описание заданий и задач на языке JSON) можно использовать утилиту globus-url-copy (конечно, другой вариант - использовать ВИГ, см. Краткое руководство по запуску заданий в среде ГридННС). Формат соответствующей команды следующий:

$ globus-url-copy [options] sourceURL destURL

Список возможных опций выдается заданием этой команды с опцией –help. Поддерживаются протоколы передачи: gsiftp и file, например:

file:///home/ivanov/stuff.txt 
gsiftp://tb01.ngrid.ru/~/stuff.txt 

Пример запуска команды:

globus-url-copy file:///home/ivanov/input.txt gsiftp://tb01.ngrid.ru/home/ivanov/tst/input-tag.txt

Для протокола file допустимо использовать только абсолютный путь к файлу. Все URL должны быть полными, т.е. включать в себя имя конечного файла. Одним из преимуществ команды globus-url-copy являеся возможности передачи данных между двумя удаленными компьютерами без их “прокачивания” через компьютер, на котором запускается команда. Это позволяет избежать двойного копирования файлов и особенно важно когда команда задается с компьютера, подключенного к сети через низкоскоростную линию или не имеющего достаточного свободного дискового пространства.

Список и URL серверов грид-инфраструктуры можно получить на веб-странице сервиса регистрации ресурсов и грид-сервисов.

support/user/cli.txt · Last modified: 01/06/2010 16:13 by shamardin 
Show pagesource Old revisions BacklinksODT Export
Index Back to top
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki