Quand j'ai exécuté la commande: airflow list_users Cela a soulevé une erreur comme ci-dessous:
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)
Il y a aussi la même erreur après l'exécution: airflow create_user
3 Réponses :
Cela s'est produit parce que les tables ab_ * n'ont pas été créées dans airflow initdb
. Toutes ces tables sont pour le contrôle d'accès basé sur les rôles - RBAC.
Pour avoir ces tableaux, suivez les instructions:
edit airflow.cfg [webserver] rbac = True
et exécutez airflow initdb
pour créer ces tables manquées.
En plus de la réponse de Newton Jose, après avoir édité le fichier cfg, démarrez le serveur web en utilisant
airflow scheduler
Ensuite, ouvrez un autre terminal, passez à votre répertoire de travail et exécutez
airflow initdb
Vous pouvez maintenant démarrer votre planificateur
airflow webserver
L'essentiel est que votre serveur Web doit être en cours d'exécution lorsque vous exécutez la commande d'initialisation de la base de données. Au moins, c'est ce qui a fonctionné pour moi.
Vous devez effectuer l'initialisation après l'installation:
$ airflow version [2019-08-15 22:39:34,673] {__init__.py:51} INFO - Using executor SequentialExecutor ____________ _____________ ____ |__( )_________ __/__ /________ __ ____ /| |_ /__ ___/_ /_ __ /_ __ \_ | /| / / ___ ___ | / _ / _ __/ _ / / /_/ /_ |/ |/ / _/_/ |_/_/ /_/ /_/ /_/ \____/____/|__/ v1.10.4
Si AIRFLOW_HOME
n'est pas AIRFLOW_HOME
, ~/airflow/
sera créé et utilisé. C'est là que la configuration et les journaux seront stockés; si vous souhaitez réinitialiser la configuration, supprimez le AIRFLOW_HOME
stocké dans AIRFLOW_HOME
et réexécutez airflow initdb
.
Maintenant, d'autres commandes devraient fonctionner, par exemple
$ export AIRFLOW_HOME=~/airflow $ airflow initdb
Source: Installation section du airflow
d' airflow
docs.
Est-ce que vous exécutez le
airflow initdb
d'airflow upgradedb
airflow initdb
/airflow upgradedb
d'airflow upgradedb
commande après l' installation / la configuration d' une nouvelle méta-db pour votre déploiement Airflow?oui, j'ai exécuté les deux commandes, mais cela ne fonctionnait toujours pas avec la même erreur.