1. K8S多Worker节点安装后问题总结
1.1 卸载重新安装无法登录问题
还记得install.sh吗,我把创建用户关闭了,并且删除了airflow_plus数据库,以下配置导致不创建默认用户,所以登录不进去,设置为true,重新install即可
# 关闭创建用户job
--set webserver.defaultUser.enabled=false \
1.2 Worker节点重启导致任务失败问题
原因为自定义安装依赖,版本冲突导致。检查重启Worker所在pod的事件,查看信息如下
"/home/airflow/.local/lib/python3.7/site-packages/kombu/entity.py", line 7, in <module> from .serialization import prepare_accept_content File "/home/airflow/.local/lib/python3.7/site-packages/kombu/serialization.py", line 440, in <module> for ep, args in entrypoints('kombu.serializers'): # pragma: no cover File "/home/airflow/.local/lib/python3.7/site-packages/kombu/utils/compat.py", line 82, in entrypoints for ep in importlib_metadata.entry_points().get(namespace, []) AttributeError: 'EntryPoints' object has no attribute 'get'
检查依赖,把依赖版本固定
importlib-metadata==4.13.0
1.3 动态安装依赖问题
- 对于单worker节点,可以每次任务前前执行安装方法,但是比较麻烦,不实用:
import logging
import os
log = logging.getLogger(__name__)
def install():
log.info("begin install requirements")
os.system("pip install -r /opt/airflow/dags/repo/dags/requirements.txt")
os