我有一个启动 JupyterHub 的 systemd 文件:
[Unit]
Description=Jupyterhub
[Service]
User=root
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/spark/bin:/opt/hadoop/bin"
Environment="HADOOP_HOME=/opt/hadoop"
Environment="JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64"
ExecStart=/usr/local/bin/jupyterhub -f /opt/jupyter/jupyterhub_config.py
[Install]
WantedBy=multi-user.target
但是,只设置了变量,和的PATH
设置被忽略。HADOOP_HOME
JAVA_HOME
我错过了什么?
答案1
不管你信不信,这可能是因为你使用了引号。Systemd 是一款罕见的软件,它可以处理多个等号而不会造成严重混乱(正如你所期望的那样)。
[Service]
Environment=HADOOP_HOME=/opt/hadoop
Environment=JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
它没有看就像它会工作一样,但是我的系统上有这样写的单元,而且它们可以工作。