簡體   English   中英

Systemd Zookeeper 服務失敗

[英]Systemd Zookeeper service failed

我創建了以下 systemd 服務腳本來使用 Ansible 運行 Zookeeper:

[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 的提示,因為我對系統服務很陌生?

[Unit]
Description=Zookeeper
After=syslog.target
[Service]
Environment=ZOO_LOG_DIR=/zookeeper/logs
SyslogIdentifier=zookeeper
TimoutStartSec=10min
Type=forking
User=zookeeper
Group=zookeeper
ExecStart=/zookeeper/bin/zkServer.sh start
ExecStop=/zookeeper/bin/zkServer.sh stop
[Install]
WantedBy=multi-user.target

ZOO_LOG_DIR 用於權限要求

這聽起來像是首先要檢查的基礎知識,請確保文件存在

ls -ltrah /tmp/zookeeper-3.4.9/bin/zkServer.sh

如果它沒有找到您提取 zookeeper 啟動腳本的位置。 在我的實例中,它是/opt/kafka/bin/zookeeper-server-start.sh

然后驗證您指定的用戶(您指定了兩個用戶, rootzookeeper 。我假設最后一個值是有效/所需的)可以訪問腳本並對其具有可執行權限。

這將分別使用chownchmod命令完成。

也許太晚了……但用作 ExecStart:

/tmp/zookeeper-3.4.9/bin/zkServer.sh start-foreground

暫無
暫無

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

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