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 删除。

编辑于

我来说两句

1 条评论
登录 后参与评论

相关文章

来自专栏用户2442861的专栏

ubuntu下mysql的安装以及基本命令

打开终端,输入sudo apt-get install mysql-server

642
来自专栏令仔很忙

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

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

632
来自专栏python全栈布道师

django+vue环境搭建

npm install -g cnpm --registry=https://registry.npm.taobao.org

4418
来自专栏云计算

使用Postfix,Dovecot和MySQL发送电子邮件

在本指南中,您将学习如何在Debian或Ubuntu上使用Postfix,Dovecot和MySQL设置安全的虚拟用户邮件服务器。我们将解释如何创建新的用户邮箱...

662
来自专栏Hongten

php开发_链接mysql数据库的一个类

574
来自专栏北京马哥教育

FTP基于PAM和MySQL/MariaDB实现虚拟用户访问控制

前言 vsftpd是一款在Linux发行版中最受 推崇的FTP服务器程序,特点是小巧轻快,安全易用,目前在开源操作系统中常用的FTP套件主要有proftp...

2895
来自专栏JadePeng的技术博客

Hadoop Avro支持多输入AvroMultipleInputs

Avro 提供了1.x版本的AvroMultipleInputs,但是不支持2.x API版本,因此修改对应代码,增加对hadoop 2.x API版本的的支持...

2734
来自专栏乐沙弥的世界

基于 Linux 安装glibc版mysql 5.7.12

523
来自专栏Java开发

CentOS6.5 离线安装MySQL5.6.26

571
来自专栏https://www.cnblogs.com/L

Mysql篇--Linux中安装Mysql

由于Windows安装Mysql非常麻烦,所以分享一篇Linux中对MySQL的搭建,废话不多说,来,come on.

832

扫码关注云+社区