我已经为我的GKE环境配置了高资源(也分别在节点池中),并且使用KubernetesPodOperator设置了DAG,使其仅在那些节点池中启动Pod。
affinity={
'nodeAffinity': {
'requiredDuringSchedulingIgnoredDuringExecution': {
'nodeSelectorTerms': [{
'matchExpressions': [{
'key': 'cloud.google.com/gke-nodepool',
'operator': 'In',
'values': [
'spawning-pool'
]
}]
}]
}
}
}
我的airflow.cfg
也经过修改,以提高所有各种(令人困惑的)气流配置参数的并发性:
parallelism = 100
dag_concurrency = 100
max_active_runs_per_dag = 100
但是,我的许多活动DAG的任务都处于“已排队”状态,并且没有启动:
我是否必须重新启动Composer才能触发airflow.cfg
更改或我缺少的其他内容?
编辑:
只是一个想法,但这也许会为解决该错误提供一些思路。
在执行任务的同时,我一直在修改dag.py文件(即,我有CI / CD流入了Composer的GCS dags
存储桶中)。
难道只有在该dag没有任何任务在运行时,DAG才会重新解析?
因此,由于正在运行DAG任务,因此未分析提及使用新节点池的DAG代码。
作曲家和Airflow版本:
在GCP的Composer控制台中显示:
图片版本:composer-1.7.2-airflow-1.10.2