Управление заданиями MapReduce
MapReduce
Создать задание
-
Перейдите на страницу каталога
и выберите сервис Yandex Data Processing. -
Нажмите на имя нужного кластера и выберите вкладку Задания.
-
Нажмите кнопку Создать задание.
-
(Опционально) Укажите имя задания.
-
В поле Тип задания выберите
Mapreduce
. -
Выберите один из типов драйвера и укажите, что использовать для запуска задания:
-
имя основного класса;
-
путь к основному JAR-файлу в формате:
Размещение файла Формат пути Файловая система инстанса file:///<путь_к_файлу>
Распределенная файловая система кластера hdfs:///<путь_к_файлу>
Бакет Object Storage s3a://<имя_бакета>/<путь_к_файлу>
Интернет http://<путь_к_файлу>
илиhttps://<путь_к_файлу>
Допускается использование архивов стандартных для Linux форматов:
zip
,gz
,xz
,bz2
и т. д.Сервисному аккаунту кластера необходим доступ на чтение ко всем файлам в бакете. Пошаговые инструкции по настройке доступа к Object Storage приведены в разделе Редактирование ACL бакета.
-
-
Укажите аргументы задания.
Если аргумент, переменная или свойство состоит из нескольких частей, разделенных пробелом, указывайте каждую часть отдельно. При этом важно сохранить порядок объявления аргументов, переменных и свойств.
Например, аргумент
-mapper mapper.py
должен быть преобразован в два аргумента-mapper
иmapper.py
, стоящих последовательно. -
(Опционально) Укажите пути к дополнительным JAR-файлам, если они используются.
-
(Опционально) Задайте дополнительные настройки:
- Укажите пути к необходимым файлам и архивам.
- В поле Настройки укажите свойства компонентов в виде пары
ключ-значение
.
-
Нажмите кнопку Создать задание.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы создать задание:
-
Посмотрите описание команды CLI для создания заданий типа
Mapreduce
:yc dataproc job create-mapreduce --help
-
Создайте задание (в примере приведены не все доступные параметры):
yc dataproc job create-mapreduce \ --cluster-name=<имя_кластера> \ --name=<имя_задания> \ --main-class=<имя_основного_класса> \ --file-uris=<путь_к_файлу> \ --archive-uris=<пути_к_архивам> \ --properties=<свойства_компонентов> \ --args=<аргумент>
Где
--properties
— свойства компонентов в виде парыключ-значение
.Пути к необходимым для выполнения задания файлам передавайте в формате:
Размещение файла Формат пути Файловая система инстанса file:///<путь_к_файлу>
Распределенная файловая система кластера hdfs:///<путь_к_файлу>
Бакет Object Storage s3a://<имя_бакета>/<путь_к_файлу>
Интернет http://<путь_к_файлу>
илиhttps://<путь_к_файлу>
Допускается использование архивов стандартных для Linux форматов:
zip
,gz
,xz
,bz2
и т. д.Сервисному аккаунту кластера необходим доступ на чтение ко всем файлам в бакете. Пошаговые инструкции по настройке доступа к Object Storage приведены в разделе Редактирование ACL бакета.
Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
Воспользуйтесь методом API create и передайте в запросе:
- идентификатор кластера в параметре
clusterId
; - имя задания в параметре
name
; - свойства задания в параметре
mapreduceJob
.
Идентификатор кластера можно получить со списком кластеров в каталоге.
Отменить задание
Примечание
Задания в статусах ERROR
, DONE
или CANCELLED
отменить нельзя. Чтобы узнать статус задания, получите список заданий в кластере.
- Перейдите на страницу каталога
и выберите сервис Yandex Data Processing. - Нажмите на имя нужного кластера и выберите вкладку Задания.
- Нажмите на имя нужного задания.
- В правом верхнем углу страницы нажмите кнопку Отменить.
- В открывшемся окне выберите Отменить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы отменить задание, выполните команду:
yc dataproc job cancel <имя_или_идентификатор_задания> \
--cluster-name=<имя_кластера>
Идентификатор и имя задания можно получить со списком заданий в кластере, имя кластера — со списком кластеров в каталоге.
Воспользуйтесь методом API cancel и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. - Идентификатор задания в параметре
jobId
.
Идентификатор кластера можно получить со списком кластеров в каталоге, идентификатор задания — со списком заданий в кластере.
Получить список заданий
- Перейдите на страницу каталога
и выберите сервис Yandex Data Processing. - Нажмите на имя нужного кластера и выберите вкладку Задания.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить список заданий, выполните команду:
yc dataproc job list --cluster-name=<имя_кластера>
Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
Воспользуйтесь методом API list и передайте в запросе идентификатор кластера в параметре clusterId
.
Идентификатор кластера можно получить со списком кластеров в каталоге.
Получить общую информацию о задании
- Перейдите на страницу каталога
и выберите сервис Yandex Data Processing. - Нажмите на имя нужного кластера и выберите вкладку Задания.
- Нажмите на имя нужного задания.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Для получения общей информации о задании выполните команду:
yc dataproc job get \
--cluster-name=<имя_кластера> \
--name=<имя_задания>
Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
Воспользуйтесь методом API get и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Его можно получить со списком кластеров в каталоге - Идентификатор задания в параметре
jobId
. Его можно получить со списком заданий в кластере.
Получить логи выполнения задания
Примечание
Вы можете просматривать логи выполнения заданий и искать в них информацию с помощью сервиса Yandex Cloud Logging. Подробнее см. в разделе Работа с логами.
- Перейдите на страницу каталога
и выберите сервис Yandex Data Processing. - Нажмите на имя нужного кластера и выберите вкладку Задания.
- Нажмите на имя нужного задания.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить логи выполнения задания, выполните команду:
yc dataproc job log \
--cluster-name=<имя_кластера> \
--name=<имя_задания>
Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
Воспользуйтесь методом API listLog и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Его можно получить со списком кластеров в каталоге. - Идентификатор задания в параметре
jobId
. Его можно получить со списком заданий в кластере.
Примечание
Для работы с MapReduce вы можете использовать библиотеки, которые находятся в директории /usr/lib/hadoop-mapreduce/
.