#airflow
Вопрос:
Я ссылаюсь на этот документ и эту статью, связывая базу данных Postgres с Airflow.
В частности, я добавил эту строку в файл airflow.cfg
:
sql_alchemy_conn = postgresql psycopg2://airflowadmin:airflowadmin@localhost/airflowdb
где airflowadmin
указаны имя пользователя и пароль для пользователя и пароля postgres, а airflowdb
также создана база данных postgres со airflowadmin
всеми правами.
Однако теперь, когда я инициализирую базу данных с airflow db init
помощью , я все еще вижу sqlite
связанную базу данных. Полный выход:
DB: sqlite:////home/userxxxx/airflow/airflow.db
[2021-09-07 12:43:53,827] {db.py:702} INFO - Creating tables
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
WARNI [airflow.models.crypto] empty cryptography key - values will not be stored encrypted.
WARNI [unusual_prefix_xxxxxxxxxxxxxxxxxxxxxxxxx_example_kubernetes_executor_config] Could not import DAGs in example_kubernetes_executor_config.py: No module named 'kubernetes'
WARNI [unusual_prefix_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx_example_kubernetes_executor_config] Install kubernetes dependencies with: pip install apache-airflow['cncf.kubernetes']
Initialization done
Чего мне не хватает?
Ответ №1:
Убедитесь airflow.cfg
, что изменяемый файл совпадает с тем, который на самом деле загружается воздушным потоком. Из командной строки запустите:
airflow info
Выполните поиск в разделе Информация о путях и сравните его с путем к папке с airflow.cfg
файлом, который вы изменяете.
информация о воздушном потоке:
ache Airflow
version | 2.1.2
executor | SequentialExecutor
task_logging_handler | airflow.utils.log.file_task_handler.FileTaskHandler
sql_alchemy_conn | sqlite:////home/vagrant/airflow/airflow.db
dags_folder | /home/vagrant/airflow/dags
plugins_folder | /home/vagrant/airflow/plugins
base_log_folder | /home/vagrant/airflow/logs
remote_base_log_folder |
System info
OS
...
...
Paths info
airflow_home | /home/vagrant/airflow
...
Если значение по умолчанию не определено в процессе локальной установки, airflow_home
AIRFLOW_HOME=~/airflow
оно равно , поэтому я предполагаю, что это может быть причиной вашей проблемы.
Комментарии:
1. Спасибо. ты прав. Я дважды устанавливал Airflow: один раз на локальном, один раз в виртуальном pipenv. Локальный запускается на Sqlite. Pipenv, я пытаюсь связать с postgres. Но это все равно указывает на
airflow_home
местный воздушный поток.