问题:
我有一个托管的 Cloud Composer 环境,位于 1.9.7-gke.6 Kubernetes 集群主机下。我尝试将它(以及默认池节点)升级到 1.10.7-gke.1,因为可以升级。
从那以后,Airflow 一直在随机应变。正常工作的任务无缘无故地失败了。这使得 Airflow 无法使用,因为调度变得不可靠。以下是每 15 分钟运行一次的任务示例,升级后该任务的行为非常明显: airflow_tree_view
悬停在失败的任务上时,它只显示一条Operator: null
消息(null_operator)。此外,该任务根本没有日志。
我已经能够在另一个 Composer 环境中重现这种情况,以确保升级是导致功能障碍的原因。
到目前为止我所尝试的:
我认为升级可能搞砸了调度程序或 Celery(Cloud composer 默认为 CeleryExecutor)。
我尝试使用以下命令重新启动调度程序:
kubectl get deployment airflow-scheduler -o yaml | kubectl replace --force -f -
我还尝试从工人内部重新启动芹菜,
kubectl exec -it airflow-worker-799dc94759-7vck4 -- sudo celery multi restart 1
芹菜重新启动,但它不能解决问题。因此,我尝试以与使用气流调度程序相同的方式重新启动气流。
这些都没有解决问题。
旁注,按照本教程(Google Cloud - 连接到 Flower)时,我无法访问 Flower 来监控 Celery。连接到 localhost:5555 永远处于“等待”状态。不知道有没有关系。
如果我遗漏了什么,请告诉我!