DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

==目的==

想把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 

posted on 2019-08-08 11:46  DoubleLi  阅读(876)  评论(0编辑  收藏  举报