airflow安装步骤

1:首先安装mysql组件

yum -y install mysql-devel

安装GCCC插件:

 yum install gcc-c++ python-devel.x86_64 cyrus-sasl-devel.x86_64  

2:创建软连接

ln -s   /root/anaconda2/bin/python  /usr/bin/python

ln -s  /root/anaconda2/bin/pip  /usr/bin/pip

3:如果是anaconda2

vi   /usr/bin/yum

vi  /usr/libexec/urlgrabber-ext-down

修改python版本为 anaconda2的版本

建库、建用户

建库

库名为airflow

create database airflow;

建用户

用户名为airflow,并且设置所有ip均可以访问。

  1. create user 'airflow'@'%' identified by 'airflow';

  2. create user 'airflow'@'localhost' identified by 'airflow';

用户授权

这里为新建的airflow用户授予airflow库的所有权限

  1. grant all on airflow.* to 'airflow'@'%';

  2. flush privileges;

Airflow安装

环境变量设置如下代码配置环境变量,此环境变量仅需要设置成临时变量即可并不需要配置成永久变量。

export SLUGIFY_USES_TEXT_UNIDECODE=yes

接下来利用pip安装airflow。

pip install apache-airflow==1.10

此时airflow会被安装到Python下的第三方包中,请记住这个地址,路径一般为${PYTHON_HOME}/lib/python3.6/sit-packages/airflow。

修改AIRFLOW_HOME 环境变量

笔者此次安装仅把HOME变量设置成临时变量,并未设置永久变量。

export AIRFLOW_HOME=~/airflow

执行airflow命令

在${PYTHON_HOME}/lib/python3.6/sit-packages/airflow/bin目录下执行

执行 ./airflow,这时候 会在  ~ 目录下生成airflow目录

修改Airflow DB配置

修改${AIRFLOW_HOME}/airflow.cfg

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

参数的格式为mysql://帐号:密码@ip:port/db

初始化db

新建airflow依赖的表。

airflow  initdb

你如果是用ROOT用户  启动worker后如果报错的话 需要加一个变量
vim      /etc/profile
export C_FORCE_ROOT="true"
source  /etc/profile
 

启动Airflow

nohup airflow webserver -p 5555 > webserver.log &
nohup airflow scheduler > scheduler.log &
nohup  airflow worker > worker.log &

nohup  airflow flower> flower.log &

你如果是用ROOT用户  启动worker后如果报错的话 需要加一个变量
vim      /etc/profile
export C_FORCE_ROOT="true"
source  /etc/profile

安装执行器为  celery

第一步: 安装celery

  pip install celery

第二步:安装 redis

tar -zxvf redis-4.0.11.tar.gz

cd redis-4.0.11

make      #编译

make test  #验证

cp redis.conf src/  #将配置文件复制以可执行文件同一目录

cd src

./redis-server redis.conf #按默认方式启动 redis-server ,仅监听 127.0.0.1 ,若监听其他 ip 修改为 bind 0.0.0.0

nohup ./redis-server redis.conf 2>1&

第三步:配置 airflow.cfg

修改 /root/airflow.cfg

executor = CeleryExecutor broker_url = redis://127.0.0.1:6379/0

celery_result_backend = redis://127.0.0.1:6379/0

发布了42 篇原创文章 · 获赞 6 · 访问量 6147

猜你喜欢

转载自blog.csdn.net/qq_25617289/article/details/89876162