设置zookeeper为systemctl守护进程

Posted lidabo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设置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 

以上是关于设置zookeeper为systemctl守护进程的主要内容,如果未能解决你的问题,请参考以下文章

systemctl

systemctl命令完全指南

systemctl 命令完全指南

守护进程与远程登录服务器

systemd `systemctl stop` 主动杀死子进程

(转)systemctl 命令完全指南