我尝试了不同的方法来配置Airflow 1.9将日志写入s3,但它却忽略了它。我发现很多人在这样做之后读取日志时遇到了问题,但我的问题是日志仍然保留在本地。我可以轻松地阅读它们,但它们不在指定的s3存储桶中。
我尝试的第一步是将其写入airflow.cfg文件。
然后我尝试设置环境变量。
然而它被忽略了,日志文件仍然是本地的。
我从容器中运行airflow,我适应了https://github.com/puckel/docker-airflow到我的情况,但它不会将日志写入s3。我使用aws连接来写入dags中的存储桶,这很有效,但日志仅保留在本地,无论我是在EC2上还是在本地计算机上运行。
我尝试的第一步是将其写入airflow.cfg文件。
# Airflow can store logs remotely in AWS S3 or Google Cloud Storage. Users
# must supply an Airflow connection id that provides access to the storage
# location.
remote_base_log_folder = s3://bucketname/logs
remote_log_conn_id = aws
encrypt_s3_logs = False
然后我尝试设置环境变量。
AIRFLOW__CORE__REMOTE_BASE_LOG_FOLDER=s3://bucketname/logs
AIRFLOW__CORE__REMOTE_LOG_CONN_ID=aws
AIRFLOW__CORE__ENCRYPT_S3_LOGS=False
然而它被忽略了,日志文件仍然是本地的。
我从容器中运行airflow,我适应了https://github.com/puckel/docker-airflow到我的情况,但它不会将日志写入s3。我使用aws连接来写入dags中的存储桶,这很有效,但日志仅保留在本地,无论我是在EC2上还是在本地计算机上运行。
airflow.cfg
的哪个部分将s3://bucketname/logs
定义为S3_LOG_FOLDER
的值?如果已经这样做了,那么为什么还要给出remote_base_log_folder = s3://bucketname/logs
? - Shubhank Guptaaws-mwaa-local-runner-2_2-local-runner-1 | airflow.exceptions.AirflowConfigException: Configured task_log_reader 's3.task' was not a handler of the 'airflow.task' logger.
,并且Airflow Docker无法启动。 - Shubhank Gupta