airflow基本使用

一、airflow简介

1.安装运行环境Anaconda
访问Anaconda添加链接描述distribution/#linux,下载安装包
在Linux中下载Anaconda的脚本,执行脚本。安装好Anaconda后,安装包会自动选择不将Anaconda添加至环境变量,在安装的最后会出现添加环境变量的提示,复制后在bash中运行即可。
也可使用minianconda。

$wget https://repo.anaconda.com/archive/Anaconda2-5.3.1-Linux-x86_64.sh
pip install https://repo.anaconda.com/archive/Anaconda2-5.3.1-Linux-x86_64.sh

2.修改运行权限,并执行安装

$chmod +x Anaconda2-5.3.1-Linux-x86_64.sh
$./Anaconda2-5.3.1-Linux-x86_64.sh
(目前安装程序已经可以自动添加了)选择安装路径到数据盘/mnt/data/anaconda2,并在当前用户的.bashrc文件中添加路径
$echo 'export PATH=/mnt/data/anaconda2/bin:$PATH' >> ~/.bashrc
$source /home/ubuntu/.bashrc
在 root用户的.profile中添加anaconda2的执行路径,可以让sudo找到对应命令。
    $sudo su
#echo 'export PATH=/mnt/data/anaconda2/bin:$PATH' >> /root/.profile

3. 安装和配置airflow
设定airflow的路径,并将其添加到配置文件中并使之生效:

$echo 'export AIRFLOW_HOME=/mnt/data/airflow' >> ~/.bashrc
$source ~/.bashrc
步骤1:安装基本程序
$export SLUGIFY_USES_TEXT_UNIDECODE=yes
 $pip install apache-airflow
步骤2:安装附加包
airflow提供了很多附加包供选择,如果不需要就没必要安装,因为很多附加包依赖于更多的其他系统包,比如 MySQL的附加包mysql就需要提前安装好它的依赖:
$sudo apt-get install mysql-sever
$sudo apt-get install libmysqlclient-dev
$sudo -i pip install mysql-python
其他 airflow 提供选装模块,具体可以参见这里。例如:
$  pip install "apache-airflow[ celery, crypto, gcp_api,password]"

在 Python 3.5版本以上安装会出现以下的安装错误,主要是在3.5以上文件名发生了变化,执行$pip install mysql-python的错误信息提示入下:

Looking in indexes: http://mirrors.tencentyun.com/pypi/simple
Collecting mysql-python
  Downloading http://mirrors.tencentyun.com/pypi/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip (108kB)
    100% |████████████████████████████████| 112kB 505kB/s 
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-47uwl3ty/mysql-python/setup.py", line 13, in <module>
        from setup_posix import get_config
      File "/tmp/pip-install-47uwl3ty/mysql-python/setup_posix.py", line 2, in <module>
        from ConfigParser import SafeConfigParser
    ModuleNotFoundError: No module named 'ConfigParser'
**更正方式:**
$cp /mnt/data/anaconda3/lib/python3.7/configparser.py  \
/mnt/data/anaconda3/lib/python3.7/ConfigParser.py

步骤3:初始化数据库

$airflow initdb

步骤4:启动 web服务器,用来承载Airflow的管理控制页面

$airflow webserver -p 8080 -D

如果不用airflow自带的-D选项,可以考虑使用supervisor

$sudo apt-get install supervisor

在/etc/supervisor/conf.d/目录下创建文件app.conf,编辑内容如下:

 [program:airflow_web]
command=/mnt/data/anaconda/bin/airflow webserver -p 8080
[program:airflow_scheduler]
command=/mnt/data/anaconda/bin/airflow scheduler
重启supervisor,让配置文件生效,然后运行命令supervisorctl启动进程:
#supervisorctl start app
步骤5:启动调度器
$airflow scheduler -D

步骤6:启动worker,跟Dask进行交互真正执行任务

$$airflow worker -D

4.安装 Dask

$pip install dask

运行 dask scheduler:
# default settings for a local cluster

DASK_HOST=127.0.0.1
DASK_PORT=8786
dask-scheduler --host $DASK_HOST --port $DASK_PORT
运行 dask worker:
dask-worker $DASK_HOST:$DASK_PORT

配置 airflow.cfg
因为使用的不是默认的配置:我们选择了使用MySQL来作为元数据库,使用Dask来执行任务,因此需要对配置文件: /mnt/data/airflow/airflow.cfg 进行修改:
[core]
# 使用Dask来运行任务

executor = DaskExecutor

# 元数据库的连接方式

sql_alchemy_conn = mysql://airflow:airflow@localhost:3306/airflow

[dask]
# Dask的调度地址

cluster_address = 127.0.0.1:8786
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天下·第二

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值