如何安装气流?

时间:2016-05-05 10:59:12

标签: ubuntu pip airflow

我好像在做某事。错。

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)后,气流似乎也不是一个命令。

12 个答案:

答案 0 :(得分:7)

  • 您可以为Airflow创建一个虚拟环境,使其保持为一个单独的实体: virtualenv airflow_virtualenv
  • 转到虚拟环境的bin文件夹: cd airflow_virtualenv / bin
  • 激活虚拟环境: 来源激活
  • 设置气流主路径: 导出AIRFLOW_HOME =〜/ airflow [您也可以将此语句放在〜/ .profile或〜/ .bashrc文件中,这样就不必每次都导出]
  • 安装Airflow: pip install airflow [如果在安装时抛出“六”错误,则运行: pip install airflow --ignore-installed six ]
  • 初始化数据库: airflow initdb
  • 启动网络服务器: airflow webserver -p 8080
  • 查看Airflow用户界面: 的 http://localhost:8080/

答案 1 :(得分:4)

如果您没有遗漏任何其他内容,那么您的步骤看起来是正确的。但您可以尝试使用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}

答案 2 :(得分: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,
只需为依赖项名称tenacity增加一个版本: http://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

答案 3 :(得分:3)

以下是我安装Airflow的步骤:

将气流置于〜/ .bashrc

    5 >
    5 = USER
    5.userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
    5.extensionName = Fluidpages
    5.vendorName = FluidTYPO3
    5.pluginName = Page
    10 >

使用pip

从pypi安装
export AIRFLOW_HOME=~/airflow

初始化元数据DB

pip install airflow

启动网络服务器

airflow initdb

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

答案 4 :(得分:2)

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

气流调度程序

答案 5 :(得分:1)

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

尝试:

    public static boolean[][] foo( int[][] a,double[][]b) {
    boolean[][] c = new boolean[a.length][a.length];

    for (int i=0;i<a[0].length ;i++ ) {
        for (int j=0;j<a.length ;j++ ) {
            c[i][j]= (a[i][j]>(int)b[i][j]);
        }
      }
    return c;
    }

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

答案 6 :(得分:0)

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

- &GT;安装virtualenv:$pip install virtualenv

- &GT;创建环境:$python -m venv myvenv

- &GT;激活环境:$source myenv/bin/activate

- &GT;使用postgres安装气流:(myenv)$pip install airflowpip install airflow[postgres]

- &gt;启动服务器:(myenv)$airflow webserver -p 8080

答案 7 :(得分:0)

所有帖子的重要补充。

Apache Airflow将其软件包名称从airflow更改为apache-airflow。因此,此线程中的所有帖子都将安装Apache Airflow 1.8,因为此软件包仍然存在。

要安装更高版本

export AIRFLOW_HOME=~/airflow
pip install apache-airflow

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

答案 8 :(得分:0)

很多答案,没有人提到容器。从我的角度来看,泊坞窗中的气流更容易,尤其是对于开发而言。这可能是支持气流docker容器的最佳project

以下是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等,并且气流将自动将其拾取。

答案 9 :(得分:0)

我有macOs Mojave。 Airflow带有默认的sqlite db,该数据库不允许并行处理。安装困难。

brew install autoconf
brew install automake
brew install pkg-config
brew install libtool

然后为python3.7创建一个虚拟环境。 在venv中输入:

pip install "apache-airflow[celery, crypto, postgres, rabbitmq, redis]==1.10.6"

气流通常安装在

‘/Library/Frameworks/Python.framework/Versions/3.7/bin/airflow’

将此路径添加到您的路径变量中,如下所示Link

现在在上面为气流创建的虚拟环境中键入以下内容。

airflow initdb

如果这有效,则说明您已成功安装了气流。

答案 10 :(得分:-1)

对我有用:

$ SLUGIFY_USES_TEXT_UNIDECODE =是pip3安装apache-airflow

答案 11 :(得分:-1)

我尝试了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来解决此问题:

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