Запускать работу с python с помощью Oozie и Hue - Intercepting System.exit(1)
Мне нужно запустить некоторые скрипты Spark Python как рабочие процессы Oozie, я тестировал сценарии локально с помощью Spark, но когда я отправляю их в Oozie, я не могу понять, почему это не работает. Я использую Cloudera VM и управляю Oozie с помощью панели инструментов Hue. Вот конфигурация рабочего процесса для искрового действия:
Spark Master: local[*]
Mode: client
App name: myApp
Jars/py files: hdfs://localhost:8120/user/cloudera/example.py
Main class: org.apache.spark
Я также попытался запустить простой пример, который просто что-то печатает, но каждый скрипт, который я отправляю, Oozie дает мне такой вывод:
>>> Invoking Spark class now >>>
Intercepting System.exit(1)
<<< Invocation of Main class completed <<<
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.SparkMain], exit code [1]
Oozie Launcher failed, finishing Hadoop job gracefully
Oozie Launcher, uploading action data to HDFS sequence file: hdfs://quickstart.cloudera:8020/user/cloudera/oozie-oozi/0000005-161228161942928-oozie-oozi-W/spark-cc87--spark/action-data.seq
Oozie Launcher ends
[РЕДАКТИРОВАТЬ]
Я обнаружил, что рабочий процесс запускается, только если я установил spark master: yarn-cluster, но даже в этом режиме он запускает контейнер пряжи, который остается застрявшим на 95% заполненной карте, в то время как приложение spark остается в статусе ACCEPTED. Я пытаюсь изменить параметры памяти Yarn для запуска действия Spark. Толстый просто распечатать Heartbeat
[Решено]
Рабочий процесс oozie запускается только в том случае, если файл py является локальным и вставляется вручную в папку lib после того, как hue создаст папку рабочего процесса. Я думаю, что лучшим решением по-прежнему является написание сценария оболочки с помощью spark-submit
2 ответа
Вы должны посмотреть историю искр (в оттенке есть правая вкладка истории среди правых верхних углов, нажмите на то, что даст вам историю). После этого вы можете проверить вкладку ИСПОЛНИТЕЛИ и нажать на стандартный вывод. Вы можете увидеть основную ошибку там. Журналы OOzie всегда не так читабельны.
Ошибка, которую вы показываете, из файла stdout вашей работы oozie. Можете ли вы проверить файл stderr один раз и опубликовать свой вывод здесь. Это может иметь еще некоторые подсказки, связанные с вашей проблемой.
Вы можете использовать веб-консоль oozie для отслеживания журналов заданий oozie.