Airflow全新安装后反复出现‘Oops Something bad has happened’错误求助
解决Airflow 'Oops Something bad has happened' 及 OSError: [Errno 5] Input/output error
我之前也碰到过一模一样的问题!这个错误的核心是Airflow用Rich库输出警告时,没法正常写入控制台(stdout)导致的——尤其是编辑Connections或者访问首页时触发了警告输出,直接触发了I/O错误。给你几个亲测有效的解决方案:
1. 检查Airflow Webserver的运行终端状态
如果你是直接在终端里启动的airflow webserver,后来不小心关掉了这个终端(或者把进程后台运行但stdout被意外切断),就会出现这个问题。
- 解决办法:重新启动webserver,并且确保它运行在稳定的环境里。要么保持终端打开,要么用
nohup让它后台运行:
更靠谱的方式是把Airflow webserver做成systemd服务,这样即使终端关闭,进程也能持续运行。nohup airflow webserver -p 8080 &
2. 临时禁用Rich日志输出(快速应急方案)
这个错误是Airflow自定义的custom_show_warning函数用Rich打印警告时触发的,你可以临时禁用Rich的日志功能:
- 执行以下命令设置环境变量,然后重启webserver:
这样Airflow会用普通的print输出警告,绕开Rich的I/O写入问题。export AIRFLOW_RICH_LOGGING=False airflow webserver -p 8080
3. 调整Rich库版本适配Python 3.8
你用的是Python 3.8,某些新版本的Rich库在这个Python版本下存在stdout写入的兼容性bug。
- 尝试降级到稳定兼容的Rich版本:
这个版本在Python 3.8下适配多数Airflow 2.x版本,亲测能解决这个I/O错误。pip install rich==12.6.0
4. 验证Airflow目录权限
虽然报错指向stdout,但也有可能是Airflow的日志目录权限异常间接触发的问题:
- 确保运行Airflow的用户(比如你的mica用户)对Airflow日志目录有读写权限:
chown -R mica:mica ~/airflow/logs chmod -R 755 ~/airflow/logs
完成以上操作后,重启Airflow webserver,再尝试访问首页或编辑Connections,应该就能解决这个问题了。
内容的提问来源于stack exchange,提问作者MM Roller
相关产品推荐
相关产品推荐

