当我运行命令时:airflow list_users 它引发了如下错误:
sqlite3.OperationalError: no such table: ab_permission_view_role
...
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table:
ab_permission_view_role [SQL: 'SELECT ab_permission_view_role.id AS
ab_permission_view_role_id, ab_permission_view_role.permission_view_id AS ab_permission_view_role_permission_view_id, ab_permission_view_role.role_id AS
ab_permission_view_role_role_id \nFROM ab_permission_view_role JOIN
ab_permission_view ON ab_permission_view.id =
ab_permission_view_role.permission_view_id JOIN ab_view_menu ON ab_view_menu.id = ab_permission_view.view_menu_id \nWHERE ab_permission_view_role.role_id = ?
AND ab_permission_view.view_menu_id != ?'] [parameters: (4, 51)] (Background on
this error at: http://sqlalche.me/e/e3q8)
运行后还存在相同的错误:airflow create_user
答案 0 :(得分:2)
发生这种情况是因为没有在airflow initdb
上创建ab_ *表。所有这些表都用于基于角色的访问控制– RBAC。
要拥有这些表,请按照说明进行操作:
edit airflow.cfg
[webserver]
rbac = True
并运行airflow initdb
创建这些丢失的表。
答案 1 :(得分:1)
除了牛顿·何塞(Newton Jose)的答案之外,在编辑cfg文件之后,请使用来启动网络服务器
airflow webserver
然后打开另一个终端,切换到您的工作目录并运行
airflow initdb
您现在可以启动调度程序
airflow scheduler
最重要的是,当您运行用于初始化数据库的命令时,您的Web服务器应该正在运行。至少对我有用。
答案 2 :(得分:1)
您需要在安装后执行初始化:
$ export AIRFLOW_HOME=~/airflow
$ airflow initdb
如果未设置AIRFLOW_HOME
,将创建并使用~/airflow/
。这是配置和日志的存储位置。如果要重置配置,请删除存储在AIRFLOW_HOME
中的目录,然后重新运行airflow initdb
。
现在其他命令应该可以使用,例如
$ airflow version
[2019-08-15 22:39:34,673] {__init__.py:51} INFO - Using executor SequentialExecutor
____________ _____________
____ |__( )_________ __/__ /________ __
____ /| |_ /__ ___/_ /_ __ /_ __ \_ | /| / /
___ ___ | / _ / _ __/ _ / / /_/ /_ |/ |/ /
_/_/ |_/_/ /_/ /_/ /_/ \____/____/|__/ v1.10.4
来源:airflow
个文档中的Installation部分。