在安装airflow后,初始化遇到这样的问题
1Traceback (most recent call last): 2 File "/opt/anaconda3/bin/airflow", line 32, in <module> 3 args.func(args) 4 File "/opt/anaconda3/lib/python3.7/site-packages/airflow/bin/cli.py", line 1102, in initdb 5 db.initdb(settings.RBAC) 6 File "/opt/anaconda3/lib/python3.7/site-packages/airflow/utils/db.py", line 106, in initdb 7 upgradedb() 8 File "/opt/anaconda3/lib/python3.7/site-packages/airflow/utils/db.py", line 377, in upgradedb 9 command.upgrade(config, 'heads') 10 File "/opt/anaconda3/lib/python3.7/site-packages/alembic/command.py", line 298, in upgrade 11 script.run_env() 12 File "/opt/anaconda3/lib/python3.7/site-packages/alembic/script/base.py", line 489, in run_env 13 util.load_python_file(self.dir, "env.py") 14 File "/opt/anaconda3/lib/python3.7/site-packages/alembic/util/pyfiles.py", line 98, in load_python_file 15 module = load_module_py(module_id, path) 16 File "/opt/anaconda3/lib/python3.7/site-packages/alembic/util/compat.py", line 173, in load_module_py 17 spec.loader.exec_module(module) 18 File "<frozen importlib._bootstrap_external>", line 728, in exec_module 19 File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed 20 File "/opt/anaconda3/lib/python3.7/site-packages/airflow/migrations/env.py", line 92, in <module> 21 run_migrations_online() 22 File "/opt/anaconda3/lib/python3.7/site-packages/airflow/migrations/env.py", line 86, in run_migrations_online 23 context.run_migrations() 24 File "<string>", line 8, in run_migrations 25 File "/opt/anaconda3/lib/python3.7/site-packages/alembic/runtime/environment.py", line 846, in run_migrations 26 self.get_context().run_migrations(**kw) 27 File "/opt/anaconda3/lib/python3.7/site-packages/alembic/runtime/migration.py", line 518, in run_migrations 28 step.migration_fn(**kw) 29 File "/opt/anaconda3/lib/python3.7/site-packages/airflow/migrations/versions/0e2a74e0fc9f_add_time_zone_awareness.py", line 45, in upgrade 30 "Global variable explicit_defaults_for_timestamp needs to be on (1) for mysql" 31Exception: Global variable explicit_defaults_for_timestamp needs to be on (1) for mysql
解决方法:
进入mysql airflow 数据库,设置global explicit_defaults_for_timestamp
1mysql> show global variables like '%timestamp%'; 2+---------------------------------+-------+ 3| Variable_name | Value | 4+---------------------------------+-------+ 5| explicit_defaults_for_timestamp | OFF | 6| log_timestamps | UTC | 7+---------------------------------+-------+ 82 rows in set (0.00 sec) 9 10mysql> set global explicit_defaults_for_timestamp =1; 11Query OK, 0 rows affected (0.00 sec) 12 13mysql>