本次使用linux环境,python 3.7.0 ,airflow 2.2.3,mysql-5.7.37

1.安装python

#安装wget命令

yum -y install wget
# wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

#解压

tar xzvf Python-3.7.0.tgz
cd Python-3.7.0
./configure --with-ssl --prefix=/service/python3 --with-ssl
make
make install

如果遇到报错

ModuleNotFoundError: No module named '_ctypes'

解决办法

yum install libffi-devel -y

然后在

make install

#制作新的指向Python3的软连接

ln -s /service/python3/bin/python3 /usr/bin/python -f

#建立pip的软连接

ln -s /service/python3//bin/pip3 /usr/bin/pip -f

#查看Python版本

python -V 

#检测pip版本

pip -V

#升级pip

pip install --upgrade pip

检查 yum 是否为2.7

vim /usr/bin/yum

如果第一行为

#!/usr/bin/python

就修改为下

#!/usr/bin/python2.7

2安装airflow

#设置临时环境变量

export SLUGIFY_USES_TEXT_UNIDECODE=yes

#添加编辑环境变量

vi /etc/profile

#在最后添加以下内容:

export PS1="[\u@\h \w]\$ " #Python环境变量 export PYTHON_HOME=/service/python3 export PATH=$PATH:$PYTHON_HOME/bin #Airflow环境变量 export AIRFLOW_HOME=/root/airflow export SITE_AIRFLOW_HOME=/service/python3/lib/python3.7/site-packages/airflow export PATH=$PATH:$SITE_AIRFLOW_HOME/bin 

#生效环境变量

source /etc/profile

#安装apache-airflow并且指定2.2.3版本

pip install apache-airflow===2.2.3

#为airflow安装mysql模块

pip install 'apache-airflow[mysql]'

安装所需插件

yum -y install mysql-develpip install mysqlclientpip install pymysql pip install cryptography

创建airflow登陆用户

airflow users create \--username root \--firstname sam \--lastname sam \--role Admin \--email 123456@qq.com

输入两次密码

airflow webserver --port 8080 -D    启动web服务airflow scheduler -D  启动scheduler

安装到这里你可以在浏览器通过localhost:8080打开页面了

3安装mysql

下载地址:

https://dev.mysql.com/downloads/mysql/5.7.html#downloads

上传到服务器后解压

tar -xvf mysql-5.7.37-el7-x86_64.tar.gz  

移动并重命名一下

mv mysql-5.7.37-el7-x86_64 /usr/local/mysql

创建mysql用户组和用户并修改权限

groupadd mysqluseradd -r -g mysql mysql

创建数据目录并赋予权限

mkdir -p /data/mysql #创建目录chown mysql:mysql -R /data/mysql #赋予权限

配置my.cnf 没有就新建

vim /etc/my.cnf

内容如下

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

初始化数据库

进入mysql的bin目录

cd /usr/local/mysql/bin/

初始化

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

查看密码 并记录密码

cat /data/mysql/mysql.err

启动mysql,并更改root 密码

先将mysql.server放置到/etc/init.d/mysql中

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

启动!!!

service mysql startps -ef|grep mysql

到这里说明mysql已经安装成功了!!

下面修改密码

首先登录mysql,前面的那个是随机生成的。

./mysql -u root -p #bin目录下

输入新密码

再执行下面三步操作,然后重新登录。

SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;   

为了能从外部访问 继续设置

use mysql                                            #访问mysql库
update user set host = '%' where user = 'root';      #使root能再任何host访问
FLUSH PRIVILEGES;                                    #刷新

不希望每次都到bin目录下使用mysql命令则执行以下命令

ln -s /usr/local/mysql/bin/mysql /usr/bin

如果启动报错 记得去看下 mysql.err 日志 我遇到过一次是端口被占用,kill 掉占用的端口重启正常。

Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).

4把airflow默认数据库替换为mysql

登陆MySQL、创建数据库、创建用户密码、更新策略

mysql> create database airflow;
mysql> GRANT all privileges on airflow.* TO 'airflow'@'%' IDENTIFIED BY '123456';
mysql> FLUSH PRIVILEGES;

设置MySQL对null的处理

mysql> set explicit_defaults_for_timestamp = 1;

对airflow配置文件(airflow.cfg)的设置

我的是在 /root/airflow/airflow.cfg

#打开你安装airflow的文件夹
vim /root/airflow/airflow.cfg#设置两个属性executor = LocalExecutorsql_alchemy_conn = mysql+mysqlconnector://airflow:123456@localhost:3306/airflow#这里可以设置时区为上海
default_timezone = Asia/Shanghai#这里可以设置页面默认时区为上海
default_ui_timezone = Asia/Shanghai

为了airflow可以顺利重启把运行的进程全部 kill

ps aux |grep airflow 查询airflow运行#数据库加载
airflow db init#启动web服务airflow webserver --port 8080 -Dairflow scheduler -D

到这里你的mysql也替换完成了,你可以使用新创建的用户 查看表,会发现airflow自动创建了很多表。

欢迎留言探讨!!!!谢谢!!!!!

airflow+mysql搭建步骤2022年2月最新版相关推荐

  1. Java面试题及答案整理( 2022 年 7月最新版)

    发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 博主已将以下这些面试题整理成了一个Java面试手册,是PDF版的. 小伙伴们有兴趣想了 ...

  2. 955不加班公司名单!2022年6月最新版

  3. 2022 年 1 月的头号恶意软件: Lokibot 重返榜单,Emotet 重回榜首

    Check Point Research 指出,信息窃取程序 Lokibot 重返最猖獗的恶意软件排行榜,而 Emotet 则取代 Trickbot 占据榜首.作为最常被利用的头号漏洞,Apache ...

  4. 【Python Django Web项目】利用 Python+Django+Pycharm+MySQL 搭建一个自己的Web网站项目的步骤(详细图文)上集

    今天我们要来介绍一下, 利用 Python+Django+Pycharm+MySQL 搭建一个自己的Web网站项目的步骤 首先我们要建立一个专门放项目的文件夹 如下 E:\Projects , 我们建 ...

  5. Linux基础学习八:mysql主从复制原理以及详细搭建步骤

    MySQL的主从复制 MySQL的主从复制,指的是可以创建多台和主数据库完全一样的数据库环境(从数据库),对主数据库的写操作(增.删.改)会自动同步到子数据库中. 作用: 从数据库作作为冷备机,进行日 ...

  6. 青龙面板搭建—手把手教学(2022年4月24日更新)

    系列文章: 京东- -青龙面板搭建- -序章(2022年4月26日更新) 青龙面板搭建-手把手教学(2022年4月24日更新) XDD-PLUS安装-手把手教学(2022年4月24日更新) 前言 如果 ...

  7. 【shopify 1】调研出海项目,发现shopify没有java的相关SDK接口,但是找到一个最新2022年6月的Java项目分享了相关代码,使用docker进行环境搭建、编译,并成功启动

    目录 前言 1,关于shopify java调研 2,发现一个新的关于shopify的JavaSDK开源项目是2022年6月发布的 3,使用OAuth2 进行授权的逻辑 4,解决相关问题,解决配置依赖 ...

  8. ubuntu mysql 环境,Ubuntu下安装搭建MySQL环境步骤介绍

    摘要 腾兴网为您分享:Ubuntu下安装搭建MySQL环境步骤介绍,翼拍照,易码平台,洋葱数学,小度等软件知识,以及poco美人相机,收卡啦,crc16校验工具,ps画笔样式,机械标准件,法硕联盟论坛 ...

  9. Hexo + github搭建个人博客(2022年7月)

    本文方案适用时间节点:2022年7月16日. 容易踩坑的地方是「部署博客到 github」. 安装相关环境 1. 安装 Node.js 由于 Hexo 需要 Node.js 支持,因此我们进入官网下载 ...

最新文章

  1. springboot(七):springboot+mybatis多数据源最简解决方案
  2. 如何了解Google Analytics(分析)和网站访问量
  3. TV Distortion Bundle mac - AE画面像素破损信号干扰失真插件
  4. 国内首家!腾讯云密钥管理系统通过密码应用验证,积极探索行业标准边界
  5. python中scrapy的middleware是干嘛的_Python之爬虫(十九) Scrapy框架中Download Middleware用法...
  6. 中国wms仓储管理系统行业发展状况分析?
  7. 整理一年中使用到的工具和类库,可能正有你需要的!
  8. 9.14-9.18随笔之二
  9. 关于连接参数-Ttext
  10. LR证书过期解决办法
  11. 哈夫曼实现文件压缩解压缩(c语言)
  12. 《走出强迫的泥潭——森田疗法指导集锦》
  13. 计算机 中职生学情分析,信息技术学情分析
  14. MIPS Linux内核编译构建环境的搭建
  15. Comet----众里寻你千百度
  16. kali安装openvas全过程
  17. 提供一个免费的directui界面库(已开源)
  18. 在可见光波长下用银树突超表面进行微分运算
  19. 情侣相处最佳模式(转)
  20. Export metadata for 'Type' is missing and no defau

热门文章

  1. eNSP启动路由器失败,错误代码40解决方法亲测有效
  2. linux syslog
  3. 【钉钉-场景化能力包】钉钉通讯录同步管理
  4. drop/truncate purge
  5. 【异常】前端Babel提示 Support for the experimental syntax ‘jsx‘ isn‘t currently enabled
  6. 嗨 Jina,帮我画一幅高山流水图
  7. AVVR电线电缆的介绍使用
  8. 建议在压缩时使用WinRAR的恢复卷功能!(WinRAR3.0以上均支持)
  9. [学习心得][Html]disabled属性的启用和禁止
  10. php plupload上传失败,plupload,多次上传-无效_plupload自动上传,第二次提交无效。,plupload,多次上传-无效 - phpStudy...