当前位置: 首页 > news >正文

mac下安装airflow

背景:因为用的是Mac的M芯片的电脑,安装很多东西都经常报错,最近在研究怎么把大数据集群上的crontab下的任务都配置到一个可视化工具中,发现airflow好像是个不错的选择,然后就研究怎么先安装使用起来,后面再做优化

一、安装conda环境

因为我本地已经安装了anaconda,所以这里可以直接使用试试,有问题再说
网上好多说安装miniconda的

二、安装airflow

我是直接使用pip命令安装的,命令如下;

pip install airflow

三、初始化airflow数据库

注意:airflow默认走配置文件的sqllite数据库,后面为了以后维护方便,我们再改成MySQL数据库

airflow db init

四、查看airflow的版本

airflow version

在上面的操作步骤上可以看到airflow的安装路径,我的是/Users/wuzhanxi/airflow

五、启动airflow web服务,启动后浏览器访问http://localhost:8080

启动命令:

airflow webserver -p 8080 -D

打开浏览器,账户密码后面我们会设置
在这里插入图片描述### 六、启动airflow调度
启动命令:

airflow scheduler -D

七、创建airflow的账号、密码

airflow users create \--username admin \--firstname wzx \--lastname wzx \--role Admin \--email 450275861@qq.com

八、然后我们先停止airflow进程

查看进程开始我用的下面的这个命令,发现打印出来一堆东西,很不好看,所以后面又搜了其他的方式

ps -ef|grep airflow 

在这里插入图片描述下面的命令更合理一些,查看进程

ps -ef|egrep 'scheduler|airflow-webserver'|grep -v grep|awk '{print $2}'

在这里插入图片描述全部杀掉进程:

ps -ef|egrep 'scheduler|airflow-webserver'|grep -v grep|awk '{print $2}'|xargs kill -15

九、修改airflow连接的数据库为MySQL

第一步:在MySQL中创建airflow的数据库
第二步:安装Python连接MySQL的依赖、驱动pip install mysql-connector-python第三步:修改airflow的配置文件文件位置:/Users/wuzhanxi/airflow下的airflow.cfg找到database,然后往下滑,将连接数据库的配置文件改成你连接MySQL的配置文件由于配置文件中内容较多,可以用./database进行搜索[database]
# Path to the ``alembic.ini`` file. You can either provide the file path relative
# to the Airflow home directory or the absolute path if it is located elsewhere.
#
# Variable: AIRFLOW__DATABASE__ALEMBIC_INI_FILE_PATH
#
alembic_ini_file_path = alembic.ini# The SqlAlchemy connection string to the metadata database.
# SqlAlchemy supports many different database engines.
# More information here:
# http://airflow.apache.org/docs/apache-airflow/stable/howto/set-up-database.html#database-uri
#
# Variable: AIRFLOW__DATABASE__SQL_ALCHEMY_CONN
#原来的配置文件如下
#sql_alchemy_conn = sqlite:////Users/wuzhanxi/airflow/airflow.db
sql_alchemy_conn = mysql+mysqlconnector://root:Wwzx152103@localhost:3306/airflow

配置文件:airflow.cfg
在这里插入图片描述### 十、然后重启,重新创建账户、密码
这样这些基本配置信息都存入到咱们自己的MySQL中来了,后面维护起来就比较方便了

十一、修改执行器,官网不推荐在开发中使用顺序执行器,会造成任务调度阻塞。

还是修改刚才的配置文件,找到core

[core]
# The executor class that airflow should use. Choices include
# ``SequentialExecutor``, ``LocalExecutor``, ``CeleryExecutor``, ``DaskExecutor``,
# ``KubernetesExecutor``, ``CeleryKubernetesExecutor`` or the
# full import path to the class when using a custom executor.
executor = LocalExecutor
http://www.lryc.cn/news/353006.html

相关文章:

  • 二进制中1的个数c++
  • 【面试干货】数据库乐观锁,悲观锁的区别,怎么实现
  • 移动端仪表盘,支持更多组件
  • 科技产业园3D探秘:未来科技之城的奇幻之旅
  • 【Python搞定车载自动化测试】——Python基于Pytest框架实现UDS诊断自动化(含Python源码)
  • 探索SPI单线传输模式中时钟线与数据传输的简化
  • 使用FFmpeg推流实现在B站24小时点歌直播
  • 汽车防抱死制动系统ABS的单片机程序Proteus仿真设计
  • IOS开发者证书快捷申请
  • python 火焰检测
  • 栈——顺序存储
  • 军队仓库管理系统|DW-S301系统特点
  • MySQL和MongoDB数据库的区别
  • 类脑计算和量子计算、人工智能的关系
  • Qt5 互动地图,实现无人机地面站效果
  • 【文末附gpt升级方案】TikTok Symphony AI套件:智能视频制作的新篇章
  • 面试回答——有高并发、高性能、高可用系统架构设计实践以及性能调优经验
  • rocketmq初识
  • php 使用phpoffice导出导出excel
  • 安装docker版elasticsearch和kibana
  • 大语言模型的工程技巧(四)——梯度检查点
  • 批量复制文件智能删除已复制,轻松管理文件新体验!让您的文件整理更高效无忧
  • 从零训练yolov8
  • 民国漫画杂志《时代漫画》第14期.PDF
  • maven-依赖管理
  • Java之设计模式
  • 大胆预测:计算机将要回暖
  • 49 序列化和反序列化
  • PS —— 精修图像
  • 哥白尼哨兵系列卫星数据不能下载的解决方法