我在使用 Apache Airflow 1.10.7 时也遇到了同样的问题。
Traceback (most recent call last):
File "/usr/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/usr/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "/home/radifar/.virtualenvs/airflow/lib/python3.7/site-packages/airflow/jobs/scheduler_job.py", line 135, in _run_file_processor
set_context(log, file_path)
File "/home/radifar/.virtualenvs/airflow/lib/python3.7/site-packages/airflow/utils/log/logging_mixin.py", line 198, in set_context
handler.set_context(value)
File "/home/radifar/.virtualenvs/airflow/lib/python3.7/site-packages/airflow/utils/log/file_processor_handler.py", line 65, in set_context
local_loc = self._init_file(filename)
File "/home/radifar/.virtualenvs/airflow/lib/python3.7/site-packages/airflow/utils/log/file_processor_handler.py", line 148, in _init_file
os.makedirs(directory)
File "/home/radifar/.virtualenvs/airflow/lib/python3.7/os.py", line 211, in makedirs
makedirs(head, exist_ok=exist_ok)
File "/home/radifar/.virtualenvs/airflow/lib/python3.7/os.py", line 211, in makedirs
makedirs(head, exist_ok=exist_ok)
File "/home/radifar/.virtualenvs/airflow/lib/python3.7/os.py", line 211, in makedirs
makedirs(head, exist_ok=exist_ok)
[Previous line repeated 5 more times]
File "/home/radifar/.virtualenvs/airflow/lib/python3.7/os.py", line 221, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/media/radifar/radifar-dsl/Workflow/Airflow/airflow-home/logs/scheduler/2020-01-04/../../../../../../../home'
检查 file_processor_handler.py 的工作原理后,我发现错误是由示例 dag 的不同目录位置和我们的 dag 文件夹设置引起的。在我的情况下,文件夹 2020-01-04 上方的 7 个文件夹是 /media/radifar。在您的情况下,文件夹 2019-12-18 上方的 4 文件夹是 /usr/local。这就是引发 PermissionError 的原因。
我可以通过清理 AIRFLOW_HOME 文件夹然后运行 airflow version、set the load_example to False in airflow.cfg 来解决这个问题。然后运行airflow initdb。之后我可以毫无错误地使用气流。