設置zookeeper為systemctl守護進程


==目的==

想把zookeeper、hadoop、hbase、storm等大數據組件

設置為開機啟動,並且進程掛掉之后,可以自動重啟,以減少運維壓力。

 

==service文件==

路徑:/usr/lib/systemd/system

文件名:train-zookeeper.service

樣例

[Unit]
Description=Zookeeper Service
After=network.target
ConditionPathExists=/home/qch/zookeeper-3.4.6/conf/zoo.cfg

[Service]
Type=forking
Environment=JAVA_HOME=/home/qch/jdk1.8.0_77
ExecStart=/home/qch/exec/zookeeper.service.run
Restart=always

[Install]
WantedBy=multi-user.target

 

zookeeper.service.run內容:

#!/bin/bash
/home/qch/zookeeper-3.4.6/bin/zkServer.sh start

 

說明:包括[Unit],[Service],[Install]三個部分

[Unit]
Description:描述,
After:在network.target,auditd.service啟動后才啟動
ConditionPathExists: 執行條件

[Service]
EnvironmentFile=變量所在文件
ExecStart=執行啟動腳本
ExecReload=執行重啟命令
ExecStop=執行停止命令
Environment=變量
User=服務運行的用戶,
Group=服務運行的用戶組
PIDFile=存放PID的文件路徑
Restart=fail時重啟
PrivateTmp=True表示給服務分配獨立的臨時空間

[Install]
Alias:服務別名
WangtedBy: 多用戶模式下需要的

 

==權限==

添加可執行權限

chmod 754 /usr/lib/systemd/system/train-zookeeper.service

chmod 754 /home/qch/exec/zookeeper.service.run

 

==命令==

設置開機啟動:systemctl enable train-zookeeper.service

取消開機啟動:systemctl disable train-zookeeper.service

啟動服務:systemctl start train-zookeeper.service

停止服務:systemctl stop train-zookeeper.service

查看服務狀態:systemctl status train-zookeeper.service

顯示所有已啟動的服務:systemctl list-units --type=service

重新加載服務:systemctl daemon-reload 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM