前面三步做完以后,就可以配置airflow的环境变量了
在此之前,可能需要先安装下依赖包
yum install mysql-devel gcc gcc-devel python-devel
之后切换到python36
conda activate py36
找到airflow的安装目录,配置到环境变量
#Airflow环境变量 export AIRFLOW_HOME=/root/airflow export SITE_AIRFLOW_HOME=/root/miniconda3/envs/py36/lib/python3.6/site-packages/airflow export PATH=$PATH:$SITE_AIRFLOW_HOME/bin #生效环境变量 source /etc/profile
这个时候在/root/airflow下就会出现airflow.cfg文件,作如下修改
executor = CeleryExecutor broker_url = redis://:${redis_password}@${redis_ip}:6379/0 result_backend = db+mysql://${username}:${password}@${mysql_ip}:3306/airflow sql_alchemy_conn = mysql://${username}:${password}@${mysql_ip}/airflow #这两个默认端口8793,5555被占用了,所以改成了新的netstat -tunlp | grep 5555 worker_log_server_port = 8795 flower_port = 5556
修改完配置文件,执行数据库初始化
airflow initdb
不报错就说明成功了,查看下mysql中airflow库下就会有airflow的表生成
然后启动airflow
#master服务器可以把如下服务都启动,worker只需要启动worker airflow webserver -D airflow scheduler -D airflow worker -D airflow flower -D
如果启动成功,说明配置没问题,就可以把airflow.cfg同步(rsync)到worker服务器将worker启动起来
正常情况根据airflow.cfg中的网址base_url 就可以找到airflow的web界面,代表webserver启动成功
#/root/airflow/airflow.cfg base_url = http://localhost:8080 web_server_host = 0.0.0.0 web_server_port = 8080
根据flower_port,就可以找到flower监控UI,看到已经启动的worker
一劳永逸解决python找不到airflow自定义模块的问题
管理员权限修改:/etc/profile。在最后一行加上:
export PYTHONPATH=$PYTHONPATH:/home/utlis/
然后运行如下代码,更新立即生效
source /etc/profile