python - 为什么扩展 docker-airflow 映像,使我的调度程序容器不健康?
问题描述
我正在使用官方 docker yml 文件运行气流。官方文档
我使用以下 dockerfile 扩展了我的图像:
FROM apache/airflow:2.0.2
USER root
RUN apt-get update
USER airflow
RUN pip install --no-cache-dir plotly==4.9
RUN pip install --no-cache-dir svglib==1.1.0
RUN pip install --no-cache-dir fpdf2
这样做导致我的调度程序容器运行不正常
我该如何解决这个问题?
这是我从容器中获取的日志:
{
"Status": "unhealthy",
"FailingStreak": 7,
"Log": [
{
"Start": "2021-06-16T12:53:53.059066625Z",
"End": "2021-06-16T12:53:53.843581477Z",
"ExitCode": 2,
"Output": "\nairflow command error: argument GROUP_OR_COMMAND: invalid choice: 'jobs' (choose from 'celery', 'cheat-sheet', 'config', 'connections', 'dags', 'db', 'info', 'kerberos', 'kubernetes', 'plugins', 'pools', 'providers', 'roles', 'rotate-fernet-key', 'scheduler', 'sync-perm', 'tasks', 'users', 'variables', 'version', 'webserver'), see help above.\nusage: airflow [-h] GROUP_OR_COMMAND ...\n\npositional arguments:\n GROUP_OR_COMMAND\n\n Groups:\n celery Celery components\n config View configuration\n connections Manage connections\n dags Manage DAGs\n db Database operations\n kubernetes Tools to help run the KubernetesExecutor\n pools Manage pools\n providers Display providers\n roles Manage roles\n tasks Manage tasks\n users Manage users\n variables Manage variables\n\n Commands:\n cheat-sheet Display cheat sheet\n info Show information about current Airflow and environment\n kerberos Start a kerberos ticket renewer\n plugins Dump information about loaded plugins\n rotate-fernet-key\n Rotate encrypted connection credentials and variables\n scheduler Start a scheduler instance\n sync-perm Update permissions for existing roles and DAGs\n version Show the version\n webserver Start a Airflow webserver instance\n\noptional arguments:\n -h, --help show this help message and exit\n"
}
提前致谢!
解决方案
我找到了解决我的问题的方法。
在我的扩展图像中,我使用的是气流 2.0.2,它不兼容。升级到气流 2.1.0 解决了我的问题。
FROM apache/airflow:2.1.0
USER root
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential libopenmpi-dev \
&& apt-get autoremove -yqq --purge \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN apt-get update
USER airflow
RUN pip install --no-cache-dir plotly==4.9
RUN pip install --no-cache-dir svglib==1.1.0
RUN pip install --no-cache-dir fpdf2
推荐阅读
- mysql - Teradata 表创建引发错误:语法错误:预期在“TABLE”关键字和“PUBLIC”关键字之间存在某些内容
- python - 试图为小型 python 程序找到更有效的实现
- python - 将 Python 中的值插入 SQL Server
- php - 如果我在表单中输入了输入数据,提交按钮将不起作用
- excel - 偏移匹配不等于轮换计划的功能
- sql - 编写 PL/SQL 过程
- json - 用于单位转换的 Json 字段依赖
- webpack - 在 Laravel Mix 中,是否可以提取除软件包列表之外的所有供应商?
- dynamics-crm - 包含空值的 FetchXML 链接实体
- angular - How to determine route prior to route guard Angular?