【问题标题】:What are the steps that I need to take after installing Airflow's Helm chart?安装 Airflow 的 Helm 图表后,我需要采取哪些步骤?
【发布时间】: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.,在我看来,调度程序已关闭。

我尝试过的事情:

  1. 通过kubectl exec -it bitnami-release-airflow-web-5897c99754-hq6nr -- bash -c "airflow initdb"在网络服务器上手动运行init db(成功但没有解决问题)
  2. 通过:kubectl exec -it bitnami-release-airflow-scheduler-774d647447-j6vpd -- bash -c "airflow scheduler 手动运行 airflow scheduler(任务开始添加到队列中,但随后获得:ERROR - Process timed out, PID: 5957
  3. 完全尝试不同的 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


【解决方案1】:

我已经设法解决了这个问题。其中一个节点内存不足,我认为这是气流配置的问题,而不是 Kubernetes 的问题。

【讨论】:

    猜你喜欢
    • 2010-11-05
    • 2010-12-18
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 2014-07-30
    • 2010-12-14
    • 1970-01-01
    • 2012-06-30
    相关资源
    最近更新 更多