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均可以访问。
-
create user 'airflow'@'%' identified by 'airflow';
-
create user 'airflow'@'localhost' identified by 'airflow';
用户授权
这里为新建的airflow用户授予airflow库的所有权限
-
grant all on airflow.* to 'airflow'@'%';
-
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