yum install redhat-rpm-config -yyum install mysql-devel -yyum install python3-devel -ydnf update gcc annobin -y
mkdir -p /usr/local/services/airflowexport AIRFLOW_HOME=/usr/local/services/airflow
/etc/profile 文件中。pip install apache-airflow[mysql]
airflow initdb
airflow webserver -D
url http://{ip}:8080/admin/可以正常访问页面,则代表配置成功。AIRFLOW_HOME下的airflow.cfgdefault_timezone = utc 修改为 default_timezone = Asia/Shanghaidefault_ui_timezone = UTC 修改为 default_ui_timezone = Asia/Shanghai
/usr/local/lib/python3.6/site-packages/airflow/utils/timezone.py
在语句 utc = pendulum.timezone('UTC') 下新增如下语句:from airflow.configuration import conftry:tz = conf.get("core", "default_timezone")if tz == "system":utc = pendulum.local_timezone()else:utc = pendulum.timezone(tz)except Exception:pass
utcnow():d = dt.datetime.utcnow() 修改为 d = dt.datetime.now()
/usr/local/lib/python3.6/site-packages/airflow/utils/sqlalchemy.py
在语句 utc = pendulum.timezone('UTC')下添加如下内容:from airflow.configuration import conftry:tz = conf.get("core", "default_timezone")if tz == "system":utc = pendulum.local_timezone()else:utc = pendulum.timezone(tz)except Exception:pass
cursor.execute("SET time_zone = '+00:00'")
/usr/local/lib/python3.6/site-packages/airflow/www/templates/admin/master.htmlvar UTCseconds = (x.getTime() + x.getTimezoneOffset()*60*1000);修改为var UTCseconds = x.getTime();
"timeFormat":"H:i:s %UTC%",修改为"timeFormat":"H:i:s",
cat {AIRFLOW_HOME}/airflow-webserver.pidkill {pid}airflow webserver -D
create database airflow;create user 'airflowuser'@'%' identified by 'pwd123';grant all on airflow.* to 'airflowuser'@'%';flush privileges;
{AIRFLOW_HOME}/airflow.cfg 中的配置sql_alchemy_conn = sqlite:////usr/local/services/airflow/airflow.db修改为sql_alchemy_conn = mysql://airflowuser:pwd123@{ip}/airflow
airflow initdb
airflow resetdb
文档反馈