簡體   English   中英

FileNotFoundError: [Errno 2] 沒有這樣的文件或目錄:'hadoop'

[英]FileNotFoundError: [Errno 2] No such file or directory: 'hadoop'

我目前正在使用氣流及其調度程序。 我正在嘗試使用 systemd 來正確管理網絡服務器和調度程序這兩個進程。 但是,當使用 systemd(systemctl 命令)啟動調度程序時,它在我的 dags 日志“FileNotFoundError: [Errno 2] No such file or directory: 'hadoop'”中出現此錯誤,如果我從命令行啟動我的調度程序,一切正常(通過在終端中輸入氣流調度程序)。 我想要做的是使用 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

最可能的問題是您沒有設置相同的變量。 運行它時,您的 PATH 變量可能設置不正確。

當您打開交互式 bash 會話時,通常會獲取更多文件 - 很可能您的路徑設置在/etc/profile (但它可能在其他地方)。

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

這是一個環境變量問題。 我通過重新導出氣流運算符中的所有變量來解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM