气stream:无法将工作人员日志发送到S3

我使用Docker镜像在我的kubernetes集群上部署了Airflow webserver,scheduler,worker和flower。 气stream版本是1.8.0。

现在我想发送工作日志到S3和

  1. 从pipe理界面创buildAirflow的S3连接(只需将S3_CONN设置为conn id, s3为types,因为我的kubernetes集群正在AWS上运行,所有节点都具有S3访问angular色,这应该足够了)
  2. 设置Airflowconfiguration如下remote_base_log_folder = s3://aws-logs-xxxxxxxx-us-east-1/k8s-airflow remote_log_conn_id = S3_CONN encrypt_s3_logs = False

首先我尝试创build一个DAG,以便在运行后立即引发exception。 这工作,日志可以在S3上看到。

所以我修改了DAG,现在创build一个EMR集群并等待它准备好(等待状态)。 要做到这一点,我重新启动了所有4个docker集装箱的气stream。

现在,DAG看起来正在工作,一个集群已经启动,一旦准备就绪,DAG标记为成功。 但是我没有看到S3上的日志。

工作人员和networking服务器上没有相关的错误日志,所以我什至不能看到可能导致这个问题。 日志只是没有发送。

有没有人知道是否有一些限制远程logging的气stream,除了在官方文档中的描述? https://airflow.incubator.apache.org/configuration.html#logs

在Airflow Web UI中,本地日志优先于远程日志。 如果本地日志无法find或访问,将显示远程日志。 请注意,只有任务完成(包括失败),才会将日志发送到远程存储。 换句话说,运行任务的远程日志不可用。

我没有想到,但成功,日志不会被发送到远程存储?

与气stream安装的boto版本是2.46.1,该版本不使用iam实例angular色。

相反,您将不得不为访问S3_CONNconfiguration的额外字段的IAM用户添加访问密钥和密钥

像这样: {"aws_access_key_id":"123456789","aws_secret_access_key":"secret12345"}