【发布时间】:2021-03-29 20:29:36
【问题描述】:
我仍在学习 Airflow。我的目标是使用 CeleryExecutor 并使用 Helm 图表在 Kubernetes(我使用 AWS EKS)上部署 Airflow。首先,我主要专注于部署示例 dag。
我已经安装了这样的图表:
helm install airflow bitnami/airflow \
--set airflow.loadExamples=true \
--set web.baseUrl=http://127.0.0.1:8080 \
--set auth.username=$AIRFLOW_USER \
--set auth.password=$AIRFLOW_PASSWORD \
--set auth.fernetKey=$AIRFLOW_FERNETKEY = \
--set postgresql.postgresqlPassword=$POSTGRESQL_PASSWORD \
--set redis.password=$REDIS_PASSWORD
我已经成功部署了气流(使用 bitnami chart,但在其他图表中也遇到了同样的问题),通过运行 kubectl get pods 我得到:
NAME READY STATUS RESTARTS AGE
bitnami-release-airflow-scheduler-774d647447-j6vpd 1/1 Running 0 4m6s
bitnami-release-airflow-web-5897c99754-hq6nr 1/1 Running 0 4m6s
bitnami-release-airflow-worker-0 0/1 Running 0 4m6s
bitnami-release-postgresql-0 1/1 Running 0 4m6s
bitnami-release-redis-master-0 1/1 Running 0 4m6s
我已从 Web 服务器的 pod 端口转发到我的机器,但是,当我尝试运行示例 DAG 时,任务似乎卡在 running 中。后来我在 UI 上发现了一个错误:The scheduler does not appear to be running. The last heartbeat was received 1 minute ago.,在我看来,调度程序已关闭。
我尝试过的事情:
- 通过
kubectl exec -it bitnami-release-airflow-web-5897c99754-hq6nr -- bash -c "airflow initdb"在网络服务器上手动运行init db(成功但没有解决问题) - 通过:
kubectl exec -it bitnami-release-airflow-scheduler-774d647447-j6vpd -- bash -c "airflow scheduler手动运行airflow scheduler(任务开始添加到队列中,但随后获得:ERROR - Process timed out, PID: 5957 - 完全尝试不同的 Helm 图表(尝试了 airflow-helm chart,但在任务卡在
running状态时遇到了同样的问题)
安装 Helm 图表后我需要采取哪些步骤?我是否需要运行命令来手动启动服务(例如调度程序)?
如果需要,很乐意提供更多信息。
更新: 从调度程序的日志中添加一个 sn-p:
[2020-12-19 11:23:10,487] {scheduler_job.py:1195} INFO - Sending ('example_bash_operator', 'runme_2', datetime.datetime(2020, 12, 19, 11, 15, 41, 826557, tzinfo=<TimezoneInfo [UTC, GMT, +00:00:00, STD]>), 1) to executor with priority 3 and queue default
[2020-12-19 11:23:10,487] {base_executor.py:58} INFO - Adding to queue: ['airflow', 'run', 'example_bash_operator', 'runme_2', '2020-12-19T11:15:41.826557+00:00', '--local', '--pool', 'default_pool', '-sd', '/opt/bitnami/airflow/venv/lib/python3.6/site-packages/airflow/example_dags/example_bash_operator.py']
[2020-12-19 11:23:12,500] {timeout.py:42} ERROR - Process timed out, PID: 5957
【问题讨论】:
-
你能检查/共享调度程序的日志吗?
-
嗨@savsr 我已经添加了调度程序日志的最后一部分。如果有帮助,我还可以添加完整的日志。是否需要尝试手动启动调度程序?
标签: kubernetes airflow kubernetes-helm