airflow: 新建的dag没有显示在web ui 上

问题 在 dags文件夹中创建了一个 demo_dag.py 后,没有正常显示在 web ui 上

可能原因

  1. demo_dag.py文件内的代码有问题,此时在web ui上的首页可以看到有错误提示

  2. 没有重启 webserver,具体原因不明,在google上看到的解决方案就是把webserver和scheduler都关掉,然后重启

解决

  1. 排查错误代码,进行代码修复

  2. 重启webserver 和scheduler, 注意看scheduler是否有错误提示,如果出现了数据库写入失败相关的错误提示,那应该就无法正常显示在ui上

其他发现

  1. 执行 airflow dags list 可以看到 自定义的dag ,其pause值为none,而其他正常的dag的pause值为True,个人怀疑没有显示在ui的原因就是自定义的dag数据没有写入数据库,查看 scheduler相关报错信息,发现有数据库写入失败的信息:
File "/usr/local/python/lib/python3.8/encodings/cp1252.py", line 12, in encode    
 return codecs.charmap_encode(input,errors,encoding_table
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-6: character maps to <undefined>

可能有效的解决方法:

  1. 代码内不能出现中文
  2. 初始化创建airflow数据库时,使用utf8编码
  3. 在配置文件中,关于数据库配置上增加编码设置:sql_alchemy_conn = mysql://{db_name}:{db_pwd}@{host}:{port}/airflow?charset=utf8
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值