CentOs下安装Airflow

安装Airflow

1、配一下DNS,否则啥都装不了

vi /etc/resolv.conf

search localdomain
nameserver XXX.XXX.XX.XX

2、安装python3、pip3

  • 安装必要工具 yum-utils ,它的功能是管理repository及扩展包的工具 (主要是针对repository)
    yum install yum-utils
  • 使用yum-builddep为Python3构建环境,安装缺失的软件依赖,使用下面的命令会自动处理
    yum-builddep python
  • 完成后下载Python3的源码包(笔者以Python3.5为例),Python源码包目录: https://www.python.org/ftp/python/ ,截至发博当日Python3的最新版本为 3.7.0

  • 安装python3

tar xf Python-3.5.0.tgz
cd Python-3.5.0
./configure
make
make install

至此你已经在你的CentOS系统中成功安装了python3、pip3、setuptools,查看python版本

3、安装Airflow

升级pip3到最新版,这个不做会报错

pip3 install --upgrade pip

安装

pip3 install apache-airflow

我没有指定文件夹,所以安装在了root目录下,/root/airflow
4、安装Mysql

如果已经装了mariadb,需要先删除

rpm -qa | grep mariadb #查看mariadb安装包
rpm -e <mariadb包名> --nodeps #卸载mariadb

下载安装包mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar

解压

 tar -xvf mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar

安装Mysql

1  rpm -ivh mysql-community-common-8.0.18-1.el7.x86_64.rpm
2  rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm
3  rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm
4  rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm
5  rpm -ivh mysql-community-devel-5.7.24-1.el7.x86_64.rpm

启动服务

systemctl start mysqld.service
systemctl enable mysqld

找到密码

cat /var/log/mysqld.log | grep password

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新的密码';
flush privileges;

给airflow建账号

create user 'airflow'@'%' identified by '123';
grant all privileges on airflow.* to 'airflow'@'%';
flush privileges;
set explicit_defaults_for_timestamp = 1; --这一行至关重要
create database airflow CHARACTER SET = utf8;

安装python的mysql依赖

5、配置airflow连接mysql
修改airflow.cfg:/root/airflow/airflow.cfg

sql_alchemy_conn = mysql://airflow:password@localhost:3306/airflow

初始化数据库

airflow db init
  • 报错No module named ‘MySQLdb’,发下没装python的数据库库,安装之
pip3 install pymysql
pip3 install mysqlclient
  • 报错Exception: Global variable explicit_defaults_for_timestamp needs to be on (1) for mysql
    进入mysql airflow 数据库,设置global explicit_defaults_for_timestamp
show global variables like '%timestamp%';
set global explicit_defaults_for_timestamp =1;

恩,太好了,初始化成功!

airflow webserver -p 80
airflow scheduler

网站应该起来了,需要登录,创建用户名和登录密码

airflow users create --username admin --firstname admin --lastname admin --role Admin --email xxx@163.com

输入密码,创建成功。浏览器访问,输入用户名、密码。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值