У меня проблема с запуском работы Sqoop на YARN в Oozie с использованием Hue. Я хочу загрузить таблицу из базы данных Oracle и загрузить эту таблицу в HDFS. У меня многоядерный кластер состоит из 4 узлов.Запуск работы Sqoop на YARN с использованием Oozie
Я хочу запустить простой Sqoop заявление:
import --options-file /tmp/oracle_dos.txt --table BD.BD_TABLE --target-dir /user/user1/files/user_temp_20160930_30 --m 1
Файл опций находится на локальной системе на номер узла 1. Другие узлы имеют опции не файл в/TMP/реж. Я создал Oozie рабочий процесс с Sqoop работы и попытался запустить его, но я получил сообщение об ошибке:
3432 [main] ERROR org.apache.sqoop.Sqoop - Error while expanding arguments
java.lang.Exception: Unable to read options file: /tmp/oracle_dos.txt
самое странное в том, что работа иногда нормально, но иногда выходит из строя. Файл журнала дал мне ответ, почему - Oozie запускает задания Sqoop на YARN.
Менеджер ресурсов (который является компонентом YARN) решает, какой узел выполнит задание Sqoop. Когда Resource Manager решил, что Node 1 (который имеет файл параметров в локальной файловой системе) должен выполнить задание, все в порядке. Но когда RM решило, что один из других 3-х узлов должен выполнить Sqoop-задание, он потерпел неудачу.
Это большая проблема для меня, потому что я не хочу загружать файлы параметров на каждом узле (потому что, если у меня будет 1000 узлов?). Поэтому мой вопрос: есть ли способ сообщить Resource Manager, какой узел он должен использовать?
Вы правы. Спасибо :) –