我在中定义了以下服务单位/lib/systemd/system/
[Unit]
Description=Kafka and Zookeeper 3 node ensemble
Requires=network.target remote-fs.target
After=network.target remote-fs.target
ConditionPathExists=!/opt/
[Service]
Type=simple
EnvrionmentFile=/etc/environment
User=kafkacluster
Group=kafkacluster
ExecStart=${KAFKA_HOME}/bin/kafka-startj.sh ${KAFKA_HOME}
ExecStop=${KAFKA_HOME}/bin/kafka-stopj.sh ${KAFKA_HOME}
Restart=on-failure
SyslogIdentifier=kafkacluster
[Install]
WantedBy=multi-user.target
之后我运行了以下命令
systemctl enable /lib/systemd/system/kafkacluster.service
这表明这些文件有一个软链接/etc/systemd/system
。现在当我跑步时
systemctl start kafkacluster.service
我收到以下错误:
Unit kafkacluster.service failed to load: No such file or directory. See system logs and 'systemctl status kafkacluster.service' for details.
但既然服务已经有了,我不确定还缺少什么。有人能指出我正确的方向吗?
打字错误 条件路径存在=/opt/
的输出systemctl kafkacluster.service
kafkacluster.service
Loaded: error (Reason: No such file or directory)
Active: inactive (dead)
答案1
ConditionPathExists=!/opt/
请注意以下事项: 如果传递给 ConditionPathExists= 的绝对路径名带有感叹号(“!”)前缀,则测试将被否定,并且仅当路径不存在时才启动单元。
你的系统中真的没有 /opt/ 目录吗?
另外,检查 ${KAFKA_HOME} 变量是否已定义。