FileNotFoundError:[Errno 2]没有这样的文件或目录:“hadoop”

2024-06-09 15:54:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在使用airflow及其调度器。我试图使用systemd来正确管理这两个进程,即Web服务器和调度器。但是,当使用systemd(systemctl命令)启动调度程序时,它在我的dags日志“FileNotFoundError:[Errno 2]没有这样的文件或目录:'hadoop'”中出现了此错误,如果我从命令行启动调度程序,一切正常(通过在终端中键入airflow scheduler)。我试图做的是使用subprocess.Popen来运行Hadoop命令。我只是想知道问题出在哪里

这是我的.service文件

[Unit]
Description=Airflow scheduler daemon
After=network.target postgresql.service
Wants=postgresql.service

[Service]
EnvironmentFile=/root/.bashrc
User=root
Group=root
Type=simple
ExecStart=/bin/bash -c 'airflow scheduler'
Restart=always
RestartSec=5s

[Install]
WantedBy=multi-user.target

Tags: 文件命令程序服务器webtarget进程postgresql
2条回答

这是一个环境变量问题。我通过重新导出airflow操作符中的所有变量解决了这个问题

最可能的问题是没有设置相同的变量。运行时,可能未正确设置的PATH变量

当您打开InteractiveBash会话时,通常很少有更多的文件来源——很可能您的路径设置在/etc/profile(但它可能位于fre其他位置)

https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html

相关问题 更多 >