想把zookeeper、hadoop、hbase、storm等大數據組件bash
設置爲開機啓動,而且進程掛掉以後,能夠自動重啓,以減小運維壓力。運維
路徑:/usr/lib/systemd/systemoop
文件名:train-zookeeper.service大數據
樣例:spa
[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內容:code
#!/bin/bash /home/qch/zookeeper-3.4.6/bin/zkServer.sh start
說明:包括[Unit],[Service],[Install]三個部分orm
[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: 多用戶模式下須要的
添加可執行權限blog
chmod 754 /usr/lib/systemd/system/train-zookeeper.service進程
chmod 754 /home/qch/exec/zookeeper.service.runip
設置開機啓動: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