24

我好像在做某事。错误的。

https://pythonhosted.org/airflow/start.html

$ export AIRFLOW_HOME=~/airflow
$ pip install apache-airflow
Requirement already satisfied
$ airflow initdb
airflow: Command not found 

python --version
Python 2.7.10

这很奇怪 - 安装似乎运行良好(有一些警告 - 没什么严重的)说:气流,烧瓶等已成功安装。但即使在重新启动 PC(Ubuntu 15.10)之后,气流似乎也不是一个命令。

4

12 回答 12

21
  • 您可以为 Airflow 创建一个虚拟环境以将其作为一个单独的实体: virtualenv airflow_virtualenv
  • 转到虚拟环境的 bin 文件夹: cd airflow_virtualenv/bin
  • 激活虚拟环境: source activate
  • 设置气流首页路径: export AIRFLOW_HOME=~/airflow [你也可以把这条语句放在你的~/.profile或者~/.bashrc文件中,这样就不用每次都导出]
  • 安装 Airflow: pip install apache-airflow [如果在安装时抛出“六”错误,则运行:pip install apache-airflow --ignore-installed 六]
  • 初始化数据库: airflow initdb
  • 启动网络服务器: airflow webserver -p 8080
  • 查看 Airflow UI: http://localhost:8080/
于 2017-09-05T21:45:47.123 回答
6

我尝试了 pip install apache-airflow 和 pip3 install apache airflow 都遇到了问题,因为它安装了 ~/.local/bin/ 中的所有内容

如果您收到无法运行气流的错误,您将在~/.local/bin/airflow. 然后您可以将别名添加到您的 .bashrc: alias airflow='~/.local/bin/airflow' 然后运行bash ,您将能够运行气流。

然后,当您尝试使用 python2 或 python3 版本运行网络服务器时,它会抛出错误,因为它找不到 gunicorn,您可以通过将 ~/.local/bin 添加到 PATH 来解决此问题:

export PATH=$PATH:~/.local/bin

于 2019-05-06T02:28:49.250 回答
5

如果您没有遗漏任何其他内容,您的步骤看起来是正确的。但是您可以通过以下步骤尝试 Python virtualenvvirtualenvwrapper以获得隔离的环境。

pip install virtualenv
pip install virtualenvwrapper
# update and source your .profile
mkvirtualenv airflow
workon airflow
export AIRFLOW_VERSION=1.7.0
pip install airflow==${AIRFLOW_VERSION}
# optionally other modules
#pip install airflow[celery]==${AIRFLOW_VERSION}
于 2016-05-11T08:43:59.343 回答
4

使用 Python 3.6

export AIRFLOW_HOME="/Users/your_user_name/airflow"
export SLUGIFY_USES_TEXT_UNIDECODE=yes
brew install python python3
pip install -U apache-airflow[celery,s3,postgres,jdbc,mysql,gcp_api,crypto,kubernetes]

使用 Python 3.7 安装过程中有一些问题关于

from tenacity.async import AsyncRetrying

Airflow 使用 Python 3.7,因此在孵化方面有一个 PR,
只需要为依赖名称增加一个版本:http tenacity: //mail-archives.apache.org/mod_mbox/airflow-commits/201808.mbox/% 3CJIRA.13177795.1533763090000.42816.1533763380326@Atlassian.JIRA%3E https://issues.apache.org/jira/browse/AIRFLOW-2876 pip install tenacity==4.12.0

现在运行 Ariflow:

airflow initdb
airflow webserver

通过访问http://localhost:8080来验证应用程序是否在浏览器中运行。

然后运行:

airflow scheduler

于 2018-12-04T06:05:59.087 回答
3

除了上述命令之外,您可能还必须启动调度程序以允许运行作业。命令是,

气流调度器

于 2017-07-14T07:26:18.030 回答
3

以下是我安装 Airflow 的步骤:

在 ~/.bashrc 中设置气流首页

export AIRFLOW_HOME=~/airflow

使用 pip 从 pypi 安装

pip install airflow

初始化元数据数据库

airflow initdb

启动网络服务器

airflow webserver -p 8080

打开浏览器并转到 localhost:8080 以查看和使用 UI

于 2017-04-25T05:46:55.700 回答
2

这似乎气流路径不在您的 PATH 中。其他python包会发生这种情况吗?

尝试:

export PATH=$PATH:/usr/local/bin/

这是气流的默认路径,应该可以正常工作

于 2017-04-06T14:35:39.667 回答
0
于 2020-02-29T00:02:16.657 回答
0

很多答案,没有人提到容器。从我的观点来看,docker中的气流要容易得多,尤其是对于开发而言。这可能是支持气流码头集装箱的最佳项目。

这是一个 docker-compose 的示例,您可以作为示例:

version: '2'
services:
  postgresql:
    image: bitnami/postgresql:latest
    volumes:
      - postgresql_data:/bitnami/postgresql
    env_file:
      - .env
    ports:
      - 5432:5432
  redis:
    image: bitnami/redis:latest
    env_file:
      - .env
    volumes:
      - redis_data:/bitnami
  airflow-worker:
    image: bitnami/airflow-worker:latest
    env_file:
      - .env
    volumes:
      - ./dags:/opt/bitnami/airflow/dags
      - ./plugins:/opt/bitnami/airflow/plugins
  airflow-scheduler:
    image: bitnami/airflow-scheduler:latest
    depends_on:
      - redis
    env_file:
      - .env
    volumes:
      - ./dags:/opt/bitnami/airflow/dags
      - ./plugins:/opt/bitnami/airflow/plugins
  airflow:
    image: bitnami/airflow:latest
    depends_on:
      - postgresql
    env_file:
      - .env
    ports:
      - 8080:8080
    volumes:
      - ./dags:/opt/bitnami/airflow/dags
      - ./plugins:/opt/bitnami/airflow/plugins
volumes:
  postgresql_data:
    driver: local
  redis_data:
    driver: local

以及相应的 .env文件:

AIRFLOW_EXECUTOR=CeleryExecutor
AIRFLOW_PASSWORD=admin
AIRFLOW_USERNAME=admin
LOAD_EXAMPLES=no

ALLOW_EMPTY_PASSWORD=yes
AIRFLOW__CORE__FERNET_KEY=46BKJoQYlPPOexq0OhDZnIlNepKFf87WFwLbfzqDDho=
AIRFLOW__CORE__DAG_DISCOVERY_SAFE_MODE=false
POSTGRESQL_DATABASE=bitnami_airflow
POSTGRESQL_USERNAME=bn_airflow
POSTGRESQL_PASSWORD=bitnami1

关于plugins目录,它是保留目录,您可以在其中放置自定义脚本/lib 等,并且气流会自动拾取它们。

于 2020-01-24T22:43:39.403 回答
0

工作的解决方案是创建一个环境,安装气流,然后能够运行它。

-> 安装虚拟环境:$pip install virtualenv

-> 创建环境:$python -m venv myvenv

-> 激活环境:$source myenv/bin/activate

-> 安装气流:(myenv)$pip install airflow使用 postgres:pip install airflow[postgres]

-> 启动服务器:(myenv)$airflow webserver -p 8080

于 2017-06-21T13:11:48.520 回答
0

所有帖子的重要补充。

Apache Airflow 将其包名称从气流更改为 apache-airflow。所以这个线程中的所有帖子都会安装 Apache Airflow 1.8,因为这个包仍然存在。

安装更高版本

export AIRFLOW_HOME=~/airflow
pip install apache-airflow

还要考虑采用哪个 Python 版本。您可以使用 Python 2 或 Python 3 安装气流。

于 2018-08-31T04:22:59.670 回答
-1

它对我有用:

$SLUGIFY_USES_TEXT_UNIDECODE=yes pip3 install apache-airflow

于 2019-02-13T10:07:47.990 回答