Systemd动物园管理员服务未能
问题描述:
我创建了以下systemd服务脚本运行动物园管理员使用Ansible:Systemd动物园管理员服务未能
[Unit]
Description=ZooKeeper
[Service]
User=root
Type=forking
User=zookeeper
Group=zookeeper
ExecStart=/tmp/zookeeper-3.4.9/bin/zkServer.sh start
ExecStop=/tmp/zookeeper-3.4.9/bin/zkServer.sh stop
TimeoutSec=300
[Install]
WantedBy=multi-user.target
但是,试图运行使用sudo service zookeeper start
我得到以下错误的脚本:
Nov 15 22:00:35 sharedservicesprovider systemd[1]: Starting ZooKeeper...
-- Subject: Unit zookeeper.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit zookeeper.service has begun starting up.
Nov 15 22:00:35 sharedservicesprovider systemd[15287]: zookeeper.service: Failed at step USER spawning /tmp/zookeeper-3.4.9/bin/zkServer.sh: No such process
-- Subject: Process /tmp/zookeeper-3.4.9/bin/zkServer.sh could not be executed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- The process /tmp/zookeeper-3.4.9/bin/zkServer.sh could not be executed and failed.
--
-- The error number returned by this process is 3.
Nov 15 22:00:35 sharedservicesprovider systemd[1]: zookeeper.service: Control process exited, code=exited status=217
Nov 15 22:00:35 sharedservicesprovider systemd[1]: Failed to start ZooKeeper.
-- Subject: Unit zookeeper.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
任何提示为什么我无法正确启动Zookeeper,因为我对系统服务相当陌生?
答
这听起来像基础来检查我 第一,确保该文件存在
ls -ltrah /tmp/zookeeper-3.4.9/bin/zkServer.sh
,如果它没有找到您提取动物园管理员启动脚本。在我的情况下,这是/opt/kafka/bin/zookeeper-server-start.sh
然后验证您所指定的用户(您所指定的两个用户,root
和zookeeper
。我假设的最后一个值是什么是有效的/需要的话)可以访问脚本并具有可执行对它的权利。
这将分别通过chown
和chmod
命令完成。
答
也许这么晚了......但使用尽可能ExecStart:
/tmp/zookeeper-3.4.9/bin/zkServer.sh启动前景
我想知道systemsd将采取类似'开始参数在'.sh'之后? – Jet