Airflow 1.7.1.3远程日志连接配置求助
Airflow 1.7.1.3 GCS远程日志Connections配置示例
我刚好在Airflow 1.7.1.3版本里折腾过GCS远程日志的配置,给你分享下正确的Connections格式和踩过的坑:
正确的Connections配置细节
- Conn Type选择:首先在Airflow Connections里,连接类型要选
Google Cloud Storage(如果没看到这个选项,得先确保安装了对应版本的GCP依赖,1.7.x版本用pip install airflow[gcp]就行) - Extra字段JSON格式:你之前试的格式差了个关键的权限范围参数,正确的格式应该是这样:
{ "project": "你的GCP项目ID", "key_path": "/opt/airflow/keys/your-service-account-key.json", "scope": "https://www.googleapis.com/auth/devstorage.read_write" }
project:填你的GCP项目的ID(不是项目名称)key_path:必须是绝对路径,而且要保证Airflow的webserver和worker进程都能访问到这个文件(比如放在Airflow部署目录下的keys文件夹里)scope:可选但强烈建议加上,确保Airflow有读写GCS存储桶的权限,避免权限不足的问题
额外的排查要点
- 密钥文件权限:要给Airflow运行用户(比如
airflow用户)赋予读取密钥文件的权限,比如执行chmod 640 /opt/airflow/keys/your-service-account-key.json和chown airflow:airflow /opt/airflow/keys/your-service-account-key.json - 检查
airflow.cfg的远程日志配置:- 确保
remote_logging = True remote_base_log_folder = gs://你的存储桶名称/airflow-logs(要提前在GCP里创建好这个存储桶)remote_log_conn_id = 你创建的这个Connections的ID
- 确保
- 依赖版本适配:1.7.1.3是比较老的版本,
google-cloud-storage不要装太高版本,建议用1.6.0,不然会有兼容性问题
内容的提问来源于stack exchange,提问作者Paul Atkinson
相关产品推荐
相关产品推荐

