Это сводит меня с ума.
Я настраиваю воздушный поток в облачной среде. У меня есть один сервер, на котором запущен планировщик и веб-сервер, и один сервер как работник сельдерея, и я использую airflow 1.8.0.
Выполнение заданий отлично работает. Что отказывается работать, так это журналирование.
Я установил правильный путь в airflow.cfg на обоих серверах:
remote_base_log_folder = s3: // мой-ведро / airflow_logs /
remote_log_conn_id = s3_logging_conn
Я установил s3_logging_conn в пользовательском интерфейсе воздушного потока с ключом доступа и секретным ключом, как описано здесь.
Я проверил соединение с помощью
s3 = airflow.hooks.S3Hook ('s3_logging_conn')
s3.load_string ('тест', 'тест', bucket_name = 'my-bucket')
Это работает на обоих серверах. Итак, соединение установлено правильно. Но все, что я получаю всякий раз, когда запускаю задачу, - это
*** Файл журнала не является локальным.
*** Получение здесь: http: // *******
*** Не удалось получить файл журнала от работника.
*** Чтение удаленных журналов ...
Не удалось прочитать журналы из s3: // my-bucket / airflow_logs / my-dag / my-task / 2018-02-15T21: 46: 47.577537
Я попытался вручную загрузить журнал в соответствии с ожидаемыми соглашениями, но веб-сервер по-прежнему не может его получить, поэтому проблема возникает на обоих концах. Я не понимаю, что делать, все, что я прочитал, подсказывает мне, что это должно работать. Я близок к тому, чтобы просто установить 1.9.0, я слышу, как регистрируются изменения, и смотрю, повезет ли мне больше.
ОБНОВЛЕНИЕ. Я произвел чистую установку Airflow 1.9 и выполнил конкретные инструкции здесь.
Веб-сервер теперь даже не запускается из-за следующей ошибки:
airflow.exceptions.AirflowConfigException: раздел / ключ [core / remote_logging] не найден в конфигурации
есть явная ссылка на этот раздел в этот шаблон конфигурации.
Поэтому я попытался удалить его и просто загрузить обработчик S3 без предварительной проверки, и вместо этого получил следующее сообщение об ошибке:
Невозможно загрузить конфигурацию, содержит ошибку конфигурации.
Отслеживание (последний вызов последний):
Файл "/usr/lib64/python3.6/logging/config.py", строка 384, в разрешении:
self.importer (подержанный)
ModuleNotFoundError: ни один модуль не назван
'airflow.utils.log.logging_mixin.RedirectStdHandler';
airflow.utils.log.logging_mixin не является пакетом
У меня такое чувство, что это не должно быть таким трудным.
Любая помощь будет принята с благодарностью, ура