1. 程式人生 > >設定zookeeper為systemctl守護程序

設定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