Apache задача воздушного потока: java: команда не найдена - PullRequest
0 голосов
/ 19 февраля 2020

Я бегу Apache Airflow, используя Docker. Я установил OpenJDK12 и определил его переменные в: ~/.bachrc /usr/local/airflow/.bachrc

export JAVA_HOME=/usr/local/src/jdk-12
export PATH=$PATH:$JAVA_HOME/bin

, и я вижу, что Java работает нормально, особенно когда я запускаю Task из command line:

airflow test ip-importer Download 2020-2-19

, где он работает без ошибок, где задание для:

Выполнение команды java для запуска файла Jar

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

[2020-02-18 00: 46: 39,941] {{bash_operator.py:126}} ИНФОРМАЦИЯ - / tmp / airflowtmpdzijcupu / Download886rmbol: строка 1: java: команда не найдена

, похоже Невозможно см. определенные пути для Java.

  1. Есть ли какие-либо советы / идеи относительно решения этой проблемы?
  2. Еще один вопрос . В случае, если приложение java сгенерировало исключение / ошибку, Airflow не воспринимает это как ошибку, оно принимает его как succeeded task, Может быть Вы посоветуете, как заставить поток воздуха принять исключение в качестве реального прерывателя для задачи?

1 Ответ

0 голосов
/ 23 апреля 2020

Проверьте, есть ли в папке / usr / bin из контейнера Docker исполняемый файл, указывающий на Java cmd. Если нет, создайте файл со следующим cmd:

Пример:

ln -s /usr/local/airflow/java/jdk1.8.0_161-x64/bin/java /usr/bin/java
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...