首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Airflow秃头两天填坑过程:任务假死问题

根据同事反馈,问题是下午两三点左右突然就出现了,期间没有上线新代码,也没有对服务器做什么特别的操作, Airflow服务器负载也正常。...由于没有Airflow一段时间了,只能硬着头皮一边重新熟悉Airflow,一边查找定位问题,一直到很晚,不过基本上没有摸到问题的关键所在,只是大概弄清楚症状: Airflow中的Dag任务手动可以启动...根据第二个症状判断,业务代码应该是没有问题的。 根据第三个症状,怀疑是Dag任务日志太多导致的,查Airflow的日志,确实很多,于是删删删。清掉了很多日志之后,问题依旧。...网上有文章提到这可能是Airflow中的task_instance表的state字段缺少索引, 导致查询很慢导致的, 这就涉及到Airflow本身的问题了。...碰到问题的时候, 还是应该头脑清醒一点, 先对问题可能的原因做一个全面的分析: 能够导致任务产生假死这种情况的, 要么是Airflow中的ETL代码问题, 要是Airflow本身的问题, 而这两个问题的根源是

2.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

Airflow速用

/concepts.html#bitshift-composition 提高airflow相关执行速度方法 通过修改airflow.cfg相关配置 官方文档如下:http://airflow.apache.org...AIRFLOW_HOME="/mnt/e/project/airflow_config/local" 命令行:pip install apache-airflow 根据airflow.cfg的数据库配置...,在连接的数据库服务创建一个 名为 airflow_db的数据库 命令行初始化数据库:airflow initdb 命令行启动web服务: airflow webserver -p 8080...启动及关闭airflow内置 dag示例方法(能够快速学习Airflow)  开启:修改airflow.cfg配置文件  load_examples = True  并重启即可  关闭:修改airflow.cfg...对使用到的 连接密码 进行加密,此为秘钥 官网用法: https://airflow.apache.org/howto/secure-connections.html 130 fernet_key =

5.3K10

大规模运行 Apache Airflow 的经验和教训

元数据数量的增加,可能会降低 Airflow 运行效率 在一个正常规模的 Airflow 部署中,由于元数据的数量而造成的性能降低并不是问题,至少在最初的几年里是这样。...这对我们来说并不是一个问题,但是它有可能会导致问题,这要取决于你的保存期和 Airflow 的使用情况。...虽然基于 crontab 的时间表不会导致这种激增,但它们也存在自己的问题。人类偏向于人类可读的时间表,因此倾向于创建在整点、每小时、每晚的午夜运行的作业,等等。...作为这两个问题的解决方案,我们对所有自动生成的 DAG(代表了我们绝大多数的工作流)使用一个确定性的随机时间表间隔。这通常是基于一个恒定种子的哈希值,如 dag_id。...在我们的生产 Airflow 环境中,每 10 分钟执行一次任务 存在许多资源争用点 在 Airflow 中,存在着很多可能的资源争用点,通过一系列实验性的配置改变,最终很容易出现瓶颈问题

2.5K20

Centos7安装部署Airflow详解

Centos7下Airflow(1.10)+celery+redis 安装ps:Airflow 2.0+点击这里安装环境及版本centos7Airflow 1.10.6Python 3.6.8Mysql.../airflow`pip install apache-airflow安装airflow 相关依赖pip install 'apache-airflow[mysql]'pip install 'apache-airflow...创建用户(worker 不允许在root用户下执行)# 创建用户组和用户groupadd airflow useradd airflow -g airflow# 将 {AIRFLOW_HOME}目录修用户组...cd /opt/chgrp -R airflow airflow初始化数据库 初始化前请先创建airflow数据库以免报错airflow db init启动# 前台启动web服务airflow webserver...文件 不一致 重新加入AIRFLOW_HOME 就可以了# 如果在新建普通用户前配置好环境变量可能没有这个问题了 本人是在创建用户后修改了环境变量airflow worker 启动成功显示如下图片方法二

5.9K30

无处不在的幂等性

引子 ---- 最近接手一个项目,基于Airflow实现ETL的功能。问题是这个ETL经常出问题,然后就是修数据,虽然有Airflow的优势,但是还是相当的烦人。...-tid airflow bash start-worker.sh 问题是scheduler进程或者worker进程经常自己就挂掉了,很可能是因为客户的服务器配置资源不足导致的。...开始处理这个问题就是写监控脚本,监控进程,但是问题依然是没有完全避免,有时监控脚本也因为莫名的原因没有启动成功。.../ibbd/airflow \ airflow webserver -p 8080 非常干净利落地解决了问题,利用docker的restart always就能自动实现我们所需要的功能。...2.2 Airflow的任务Task设计 Task的耗时往往是比较长的,通常比接口更不可靠,因此Task的幂等性就更加重要,也就是说,Task应该随时经受重启的考验,这样能大大降低维护的难度,出问题往往只要重启即可

54240

没看过这篇文章,别说你会用Airflow

需要注意的是 Airflow 1.10.4 在是用 SLA 对 schedule=None 的 DAG 是有问题的, 详情 AIRFLOW-4297。...所以这个问题不能够通过简单的 Airflow 配置来改变。需要修改一下申请资源 task 和回收资源 task 来传递一些信息。...遇到的问题 分布式与代码同步问题 Airflow 是分布式任务分发的系统, master 和 worker 会部署在不同的机器上,并且 worker 可以有很多的类型和节点。...当 master 与 worker code 不一致时,会引入一些奇怪的问题,所以需要解决分布式系统中代码升级与同步的问题。 为了解决 code 一致性问题, 我们引入了 efs 作为代码存储。...经过实践,code 同步和部署的问题都能迎刃而解。

1.4K20

你不可不知的任务调度神器-AirFlow

Airflow 的天然优势 灵活易用,AirFlow 本身是 Python 编写的,且工作流的定义也是 Python 编写,有了 Python胶水的特性,没有什么任务是调度不了的,有了开源的代码,没有什么问题是无法解决的...,低成本高效率地解决生产问题。...AIRFLOW_HOME = ~/airflow # 使用 pip 从 pypi 安装 pip install apache-airflow # 初始化数据库 airflow initdb #...Hello AirFlow! 到此我们本地已经安装了一个单机版本的 AirFlow,然后我们可以根据官网可以做一个Demo来体验一下 AirFlow的强大。...然后执行以下命令: python ~/airflow/dags/tutorial.py 如果这个脚本没有报错,那就证明您的代码和您的 Airflow 环境没有特别大的问题

3.3K21

Airflow 和 DataX 的结合

Apache Airflow 自身也带了一些数据传输的 Operator ,比如这里的https://github.com/apache/airflow/blob/main/airflow/operators...DataX 作为一款传输工具是优秀的,但是开源版本的 DataX 不支持分布式运行,需要手工写复杂的配置文件(JSON),针对某些特殊的 writer 而言,比如 hdfswriter 还会有脏数据的问题...而这些问题都可以由 Apache Airflow 去弥补,写一个 Operator ,去自动完成复杂的配置文件以及分布式运行和弥补一些 reader 和 writer 的 bug。.../tech.youzan.com/data_platform/ 对于文章 1,虽然结合了 Airflow 和 DataX,但是它并没有解决 Airflow 的网状链路问题,只是用 Airflow 调用...负责执行 DataX 命令,渲染 Hook 传过来的字典,将字典 dump 到本地文件系统变成 json 文件等等,顺便解决 reader 和 writer 遗留下的一些问题,当然还可以支持我们团队的数据血缘追踪

2.3K20

闲聊调度系统 Apache Airflow

在团队的早期,使用 Crontab 毫无问题,但是随着调度任务开始变多,Crontab 这种简单的方式开始出现问题了。...如何管理这么多的任务也变得棘手起来等等,除了这个以外,还有一个至关重要的数据安全问题,即如何统一管理连接信息,而不是明文写在脚本里。...因为出现了问题,那么便要解决问题。于是就开始调研有没有合适的调度系统去解决这些问题。 选型 现在的开源调度系统分为两类:以 Quartz 为代表的定时类调度系统和以 DAG 为核心的工作流调度系统。...Azkaban:和 Oozie 差不多,缺点也很明显,最核心的问题还是没有共用变量和共用连接信息的概念。 Luigi、Dagobah 和 Pinball:基本上已经不维护,所以不再考虑了。...时区问题 时区问题真的是一言难尽。当时 Airflow 从 1.9 版本开始全局统一使用 UTC 时间,虽然后续版本可以配置化了,但是当时的 1.9 版本还不能进行更改。

9.2K21

2022年,闲聊 Airflow 2.2

1airflow Airflow[1]是一个分布式任务调度框架,可以把具有上下级依赖关系的工作流组装成一个有向无环图[2]; 有向无环图长得就如下一般: 说的云里雾里的,那么Airflow究竟是什么呢...既然知道Airflow是什么了,那么它究竟能解决平常工作中的哪些问题呢?...现在你觉得Airflow是不是在工作中还真有点用,有没有一些共同的痛点呢?既然了解了airflow的作用,那就走进的airflow,熟悉一下airflow的组件架构。...Airflow架构 Airflow架构图 Worker 见名知意,它就是一线干活的,用来处理DAG中定义的具体任务 Scheduler 是airflow中一个管事的组件,用于周期性轮询任务的调度计划,...从了解Airflow的概念,到使用场景,已然对airflow这种编排工具有一定的了解,通过拆分了解airflow组件架构,又进一步对airflow的工作流程有一个初步的认识,通过与其他编排工具对比,了解的

1.4K20

Airflow DAG 和最佳实践简介

当 Airbnb 在 2014 年遇到类似问题时,其工程师开发了 Airflow——一个工作流管理平台,允许他们使用内置界面编写和安排以及监控工作流。...本指南将全面了解 Airflow DAG、其架构以及编写 Airflow DAG 的最佳实践。继续阅读以了解更多信息。 什么是Airflow?...Airflow DAG 简介 需要了解以下方面才能清楚地了解 Airflow DAG 的实际含义。...Airflow架构 Apache Airflow 允许用户为每个 DAG 设置计划的时间间隔,这决定了 Airflow 何时运行管道。...防止此问题的最简单方法是利用所有 Airflow 工作人员都可以访问的共享存储来同时执行任务。 管理资源 在处理大量数据时,它可能会使 Airflow Cluster 负担过重。

2.8K10

如何部署一个健壮的 apache-airflow 调度系统

之前介绍过的 apache-airflow 系列文章 任务调度神器 airflow 之初体验 airflow 的安装部署与填坑 airflow 配置 CeleryExecutor 介绍了如何安装...本文主要介绍以下几点: airflow 的守护进程 airflow 单节点部署 airflow 多节点(集群)部署 airflow 集群部署的具体步骤 集群部署将为您的 apache-airflow...这可能会导致您的工作流因重复运行而出现一些问题。 下图为扩展 Master 节点的架构图: ?...扩展 Master 节点 看到这里,可能有人会问,scheduler 不能同时运行两个,那么运行 scheduler 的节点一旦出了问题,任务不就完全不运行了吗?...答案: 这是个非常好的问题,不过已经有解决方案了,我们可以在两台机器上部署 scheduler ,只运行一台机器上的 scheduler 守护进程 ,一旦运行 scheduler 守护进程的机器出现故障

5.3K20
领券