airflow —安装详解 (2)

安装python>=2.7

安装airflow

安装airflow :https://pythonhosted.org/airflow/installation.html

yum install libxml2-devel
yum install libxslt-devel
yum install libffi-devel

# airflow needs a home, ~/airflow is the default,
# but you can lay foundation somewhere else if you prefer
# (optional)
export AIRFLOW_HOME=~/airflow

# install from pypi using pip
pip2 install numpy
pip2 install cython
pip2 install pandas
pip2 install airflow
pip2 install airflow[hive]
pip2 install airflow[mysql]
pip2 install airflow[celery]
pip2 install airflow[rabbitmq]
pip2 install airflow[crypto]
pip2 install airflow[password]
pip2 install celery
pip2 install flower

安装DB

# initialize the database
airflow initdb

如果需要mysql,请修改全局配置文件airflow.cfg,并创建airflow库:

create database airflow default charset utf8;

在使用airflow-1.8.0版本时,如果有如下报错:

>>>> sqlalchemy.exc.ProgrammingError: (_mysql_exceptions.ProgrammingError)

>>>> (1064, "You have an error in your SQL syntax; check the manual that

>>>> corresponds to your MySQL server version for the right syntax to use

>> near

>>>> '(6) NULL' at line 1") [SQL: u'ALTER TABLE dag MODIFY last_scheduler_run

>>>> DATETIME(6) NULL']

需要变更

airflow/migrations/versions/4addfa1236f1_add_fractional_seconds_to_mysql_tables.py

mysql.DATETIME(fsp=6) 全部改为 mysql.DATETIME()或将mysql升级到5.7或以上的版本。

启动后台celery worker

如果使用了CeleryExecutor,需要启动

airflow worker -D

启动后台scheduler

airflow scheduler -D

启动webserver

# start the web server, default port is 8080
airflow webserver -p 8080 -D

启动flower

如果使用了celery

airflow flower

查看配置文件

$ cd ~/airflow
$ ls airflow.cfg  airflow.db  airflow-webserver.pid  unittests.cfg

开启用户认证

启动认证

$vim airflow.cfg

# Set to true to turn on authentication:
# http://pythonhosted.org/airflow/installation.html#web-authentication
#authenticate = False
authenticate = True
auth_backend = airflow.contrib.auth.backends.password_auth

创建用户

import airflow

from airflow import models, settings
from airflow.contrib.auth.backends.password_auth import PasswordUser
user = PasswordUser(models.User())
user.username = 'your  usrename'
user.email = 'username@email.com'
user.password = 'your password'
session = settings.Session()
session.add(user)
session.commit()
session.close()
exit()

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏维C果糖

详述查看 MySQL 数据文件存储位置的方法

我们可能会有一个疑惑,那就是:当我们在本地(自己的电脑)安装完 MySQL 之后,也创建了很多的数据库啊、表啊,也存储了很多的数据啊,但是这些内容都存储到哪里了...

2025
来自专栏康怀帅的专栏

LAMP CentOS7 开发环境配置

本文简要介绍了手动搭建 LNMP 开发环境的步骤。 MySQL mysql-community-client-5.7.13-1.el7.x86_64.rpm m...

3474
来自专栏乐沙弥的世界

Linux 下卸载MySQL 5

    对于在Linux下通过rpm方式的mysql,我们可以通过移除这些rpm包以及删除项目的目录来达到卸载的目的。本文演示了在SUSE Linux 10下下...

672
来自专栏令仔很忙

SQL server 2008 无法连接Local服务器的解决办法

 SQL server 2008 中连接local服务器时,显示无法找到local

1272
来自专栏pangguoming

配置sonarqube+maven

 Maven与Sonar配合使用       准备工作:下载sonarqube源码即可  步骤: 1)、安装sonar           解压,启动sonar...

3076
来自专栏杂烩

canal安装

在mysql中 配置canal数据库管理用户,配置相应权限(repication权限)

792
来自专栏DeveWork

几款更换WordPress 后台UI 的插件推荐

WordPress 3.8出来了,最大的改变就是全新扁平化后台UI。如果你对这个后台UI 不怎么感冒甚至有些反感(尼玛怎么那么丑啊?!)不妨用下面的插件来尽可能...

2257
来自专栏编程浪子

lnmp+coreseek实现站内全文检索

<font color='red'>在安装csft的过程中出现了三种错误情况,错误情况如下错误记录,可以参考修改即可</font>

220
来自专栏不想当开发的产品不是好测试

centos6.6 下安装mysql

背景 没啥好说的,就是需要搭建自己的测试数据库跟研发的数据隔离开来,需要怼mysql 步骤 1. 确认线上mysql的版本 SELECT VERSION(); ...

2075
来自专栏pangguoming

CentOS7安装MySQL

在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。 1 ...

6177

扫码关注云+社区