Airflow 气流:未设置SQLALCHEMY_数据库_URI或SQLALCHEMY_绑定

Airflow 气流:未设置SQLALCHEMY_数据库_URI或SQLALCHEMY_绑定,airflow,airflow-scheduler,Airflow,Airflow Scheduler,我已经在本地mac上安装了airflow 2.0,支持PostgresSQL for sql\u alchemy\u conn。我的DAG运行良好,并在sqla数据库中维护元数据,但任何airflow用户命令错误,且未创建角色表/视图 我尝试过设置和重置数据库,但这些表在sql\u alchemy\u conn DB中仍然不可用 psycopg2.ProgrammingError: relation "ab_permission_view_role" does not exist LINE 2:

我已经在本地mac上安装了airflow 2.0,支持PostgresSQL for sql\u alchemy\u conn。我的DAG运行良好,并在sqla数据库中维护元数据,但任何airflow用户命令错误,且未创建角色表/视图

我尝试过设置和重置数据库,但这些表在sql\u alchemy\u conn DB中仍然不可用

psycopg2.ProgrammingError: relation "ab_permission_view_role" does not exist
LINE 2: FROM ab_permission_view_role JOIN ab_permission_view ON ab_p...
[2019-01-11:45:58223]{{uuuu init.py:51}信息-使用executor SequentialExecutor
/Users/deepaksaroha/Desktop/apache_2.0/nb atom airflow/lib/python3.7/site packages/flask_sqlalchemy/__init__;.py:774:UserWarning:未设置sqlalchemy_数据库_URI或sqlalchemy_绑定。将SQLALCHEMY_数据库_URI默认为“sqlite://:内存:”。
'未设置SQLALCHEMY_数据库_URI或SQLALCHEMY_绑定。'
请确保在static/directory中构建前端并重新启动服务器
[2019-01-11:45:58450]{manager.py:525}警告-尚未创建用户,请使用fabmanager命令执行此操作。
[2019-01-11:45:59117]{u________.py:286}信息-从/Users/deepaksaroha/afflow/dags填充DagBag
[2019-01-11:46:00114]{security.py:435}INFO-开始同步用户角色。
[2019-01-11 11:46:00149]{security.py:185}信息-初始化数据库中角色:查看器的权限。
[2019-01-11 11:46:00274]{security.py:185}INFO-初始化数据库中角色:用户的权限。
[2019-01-11:46:00397]{security.py:185}INFO-初始化数据库中角色:Op的权限。
[2019-01-11:46:00487]{security.py:344}信息-从FAB元表获取一组所有权限,查看菜单
回溯(最近一次呼叫最后一次):
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom/lib/python3.7/site packages/sqlalchemy/engine/base.py”,第1193行,在执行上下文中
(上下文)
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom/lib/python3.7/site packages/sqlalchemy/engine/default.py”,第509行,在do_execute中
cursor.execute(语句、参数)
psycopg2.ProgrammingError:关系“ab_权限\视图\角色”不存在
第2行:从ab_权限\视图\角色在ab_p上加入ab_权限\视图。。。
^
上述异常是以下异常的直接原因:
回溯(最近一次呼叫最后一次):
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom-afflow/bin/afflow”,第32行,在
args.func(args)
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom afflow/lib/python3.7/site packages/afflow/utils/cli.py”,第74行,在包装器中
返回f(*args,**kwargs)
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom afflow/lib/python3.7/site packages/afflow/bin/cli.py”,第1353行,用户
appbuilder=缓存的\u appbuilder()
缓存的appbuilder中的文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom airflow/lib/python3.7/site packages/airflow/www_rbac/app.py”,第214行
缓存的应用程序(配置、测试)
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom afflow/lib/python3.7/site packages/afflow/www_rbac/app.py”,第207行,在cached_应用程序中
应用程序,\=创建应用程序(配置、会话、测试)
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom afflow/lib/python3.7/site packages/afflow/www_rbac/app.py”,第167行,在create_app中
安全\u管理器。同步\u角色()
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom afflow/lib/python3.7/site packages/afflow/www_rbac/security.py”,第443行,处于同步角色中
self.create\u custom\u dag\u permission\u view()
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom afflow/lib/python3.7/site packages/afflow/www_rbac/security.py”,第391行,在创建自定义权限视图中
all_perm_views=set([role.permission_view_id for role in all_perm_view_by_user])
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom/lib/python3.7/site packages/sqlalchemy/orm/query.py”,第2995行,在__
返回self.\u执行\u和\u实例(上下文)
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom/lib/python3.7/site packages/sqlalchemy/orm/query.py”,第3018行,在_execute_和_实例中
结果=conn.execute(querycontext.statement,self.\u参数)
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom afflow/lib/python3.7/site packages/sqlalchemy/engine/base.py”,第948行,在execute中
返回方法(自身、多线程、参数)
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom/lib/python3.7/site packages/sqlalchemy/sql/elements.py”,第269行,在连接上执行
返回连接。_execute_clauseelement(self、multiparams、params)
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom avirflow/lib/python3.7/site packages/sqlalchemy/engine/base.py”,第1060行,在“执行”子句元素中
编译的sql,提取的参数
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom/lib/python3.7/site packages/sqlalchemy/engine/base.py”,第1200行,在执行上下文中
(上下文)
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom/lib/python3.7/site packages/sqlalchemy/engine/base.py”,第1413行,在_handle_dbapi_exception中
exc_信息
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom avirflow/lib/python3.7/site packages/sqlalchemy/util/compat.py”,第265行,源于
重新释放(类型(异常),异常,tb=exc\U tb,原因=原因)
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom/lib/python3.7/site packages/sqlalchemy/util/compat.py”,第248行,重新修订
通过_回溯(tb)提升值
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom/lib/python3.7/site packages/sqlalchemy/engine/base.py”,第1193行,在执行上下文中
(上下文)
文件“/Users/deepaksaroha/Desktop/apache_2.0/nb atom/lib/python3.7/site packages/sqlalchemy/engine/default.py”,第509行,在do_execute中
cursor.execute(语句、参数)
sqlalchemy.exc.ProgrammingError:(psycopg2.ProgrammingError)关系“ab_权限\视图\角色”不存在
第2行:从ab_权限\视图\角色在ab_p上加入ab_权限\视图。。。
[2019-01-11 11:45:58,223] {__init__.py:51} INFO - Using executor SequentialExecutor
/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/flask_sqlalchemy/__init__.py:774: UserWarning: Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set. Defaulting SQLALCHEMY_DATABASE_URI to "sqlite:///:memory:".
  'Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set. '
Please make sure to build the frontend in static/ directory and restart the server
[2019-01-11 11:45:58,450] {manager.py:525} WARNING - No user yet created, use fabmanager command to do it.
[2019-01-11 11:45:59,117] {__init__.py:286} INFO - Filling up the DagBag from /Users/deepaksaroha/airflow/dags
[2019-01-11 11:46:00,114] {security.py:435} INFO - Start syncing user roles.
[2019-01-11 11:46:00,149] {security.py:185} INFO - Initializing permissions for role:Viewer in the database.
[2019-01-11 11:46:00,274] {security.py:185} INFO - Initializing permissions for role:User in the database.
[2019-01-11 11:46:00,397] {security.py:185} INFO - Initializing permissions for role:Op in the database.
[2019-01-11 11:46:00,487] {security.py:344} INFO - Fetching a set of all permission, view_menu from FAB meta-table
Traceback (most recent call last):
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
    context)
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 509, in do_execute
    cursor.execute(statement, parameters)
psycopg2.ProgrammingError: relation "ab_permission_view_role" does not exist
LINE 2: FROM ab_permission_view_role JOIN ab_permission_view ON ab_p...
             ^


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/bin/airflow", line 32, in <module>
    args.func(args)
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/airflow/utils/cli.py", line 74, in wrapper
    return f(*args, **kwargs)
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/airflow/bin/cli.py", line 1353, in users
    appbuilder = cached_appbuilder()
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/airflow/www_rbac/app.py", line 214, in cached_appbuilder
    cached_app(config, testing)
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/airflow/www_rbac/app.py", line 207, in cached_app
    app, _ = create_app(config, session, testing)
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/airflow/www_rbac/app.py", line 167, in create_app
    security_manager.sync_roles()
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/airflow/www_rbac/security.py", line 443, in sync_roles
    self.create_custom_dag_permission_view()
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/airflow/www_rbac/security.py", line 391, in create_custom_dag_permission_view
    all_perm_views = set([role.permission_view_id for role in all_perm_view_by_user])
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 2995, in __iter__
    return self._execute_and_instances(context)
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 3018, in _execute_and_instances
    result = conn.execute(querycontext.statement, self._params)
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 948, in execute
    return meth(self, multiparams, params)
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
    context)
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
    exc_info
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 265, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 248, in reraise
    raise value.with_traceback(tb)
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
    context)
  File "/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 509, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) relation "ab_permission_view_role" does not exist
LINE 2: FROM ab_permission_view_role JOIN ab_permission_view ON ab_p...
             ^
 [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 = %(role_id_1)s AND ab_permission_view.view_menu_id != %(view_menu_id_1)s'] [parameters: {'role_id_1': 4, 'view_menu_id_1': 51}] (Background on this error at: http://sqlalche.me/e/f405)
[webserver]
rbac = True
/Users/deepaksaroha/Desktop/apache_2.0/nb-atom-airflow/lib/python3.7/site-packages/airflow/www_rbac/app.py
app.config['SQLALCHEMY_DATABASE_URI'] = conf.get('core', 'SQL_ALCHEMY_CONN')
cd path/to/python/site-packages/airflow/www_rbac/
patch <<EOF
--- _app.py2019-09-25 17:18:59.127378849 +0000
+++ app.py 2019-09-25 17:18:53.467413221 +0000
@@ -53,6 +53,7 @@
     app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
     app.config['APP_NAME'] = app_name
     app.config['TESTING'] = testing
+    app.config['SQLALCHEMY_DATABASE_URI'] = conf.get('core', 'SQL_ALCHEMY_CONN')

     csrf.init_app(app)
EOF
SQLALCHEMY_DATABASE_URI = conf.get('core', 'SQL_ALCHEMY_CONN')