設定zookeeper為systemctl守護程序
阿新 • • 發佈:2018-11-26
==目的==
想把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=forkingEnvironment=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