首页 > 其他 > 详细

CentOS7 通过systemd 添加开机重启服务

时间:2019-08-24 09:52:48      阅读:95      评论:0      收藏:0      [点我收藏+]

现在越来越多的环境采用 CentOS 7 作为基础配置,特别是 Hadoop生态 如果要测试或部署环境需要启动很多组件(zookeeper、kafka、redis等等),如下内容是在操作系统层实现开机启动,这样运维管理人员无需再每次硬件设备断电或计划内重启时去检查,从无聊的频繁工作中解脱出来。

Centos7的服务systemctl 脚本一般存放在:/usr/lib/systemd , 目录下又有user和system之分:

/usr/lib/systemd/system   # 系统服务,开机不需要用户登录就能运行的程序(相当于开机自启)

/usr/lib/systemd/user     # 用户服务,需要登录后才能运行的程序

第一步:在 /usr/lib/systemd/system 目录下新建一个服务文件(例如 zookeeper.service)

cd /usr/lib/systemd/system

touch zookeeper.service

使用 vi 工具编辑zookeeper.service文件,并添加以下内容:

[Unit]

Description=Zookeeper Service

After=network.target

 

[Service]

Type=forking

User=icop     #这是你期望那个用户启动该业务的用户名,但需要该用户对/home/icop/app/zookeeper/bin/zkServer.sh有执行权限

Group=whdata  #是你期望那个用户启动该业务的用户组名

SyslogIdentifier=icop #标示启动进程的名字

Environment=ZOO_LOG_DIR=/home/icop/app/zookeeper/logs  #这个ZOO_LOG_DIR参数必须要给,否则zookeeper启动有问题

Environment=PATH=/usr/local/jdk1.8.0_181/bin:/usr/local/jdk1.8.0_181/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin

ExecStart=/home/icop/app/zookeeper/bin/zkServer.sh start

ExecStop=/home/icop/app/zookeeper/bin/zkServer.sh stop

ExecReload=/home/icop/app/zookeeper/bin/zkServer.sh restart

 

[Install]

WantedBy=multi-user.target

第二步:装载 

root用户 使用 "systemctl daemon-reload" 命令将 zookeeper.service 加入Unit。

第三步:设置开机启动

root 用户使用 "systemctl enable zookeeper.service" 命令将该服务设置为开机启动。

第四步:验证

root 用户使用"systemctl list-unit-files" 命令列出所有 Unit 服务是否开机启动

CentOS7 通过systemd 添加开机重启服务

原文:https://www.cnblogs.com/luoyx/p/11403569.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!