现在越来越多的环境采用 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 添加开机重启服务的更多相关文章

  1. (转) CentOS 7添加开机启动服务/脚本

    CentOS 7添加开机启动服务/脚本 原文:http://blog.csdn.net/wang123459/article/details/79063703 一.添加开机自启服务 在CentOS 7 ...

  2. Centos 下添加开机自启动服务和脚本【转】

    最近刚玩Centos7的系统,跟Centos6还是很多方面有改变的,这里记录一下怎么在Centos7下添加开机自启动脚本和服务的方法. 1.添加开机自启服务 我这里以docker 服务为例,设置如下两 ...

  3. linux chkconfig添加开机启动服务

    --add:增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据: --del:删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的 ...

  4. CentOS7添加开机启动服务或脚本

    方法一(rc.local) 改方式配置自动启动最为简单,只需要修改rc.local文件 由于在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod + ...

  5. centos7之添加开机启动服务/脚本

    一.添加开机启动脚本 #!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to ...

  6. 【centos7】添加开机启动服务/脚本

    一.添加开机自启服务 在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): systemctl enable jenkins.service #设置jenkins服务为 ...

  7. centos7如何添加开机启动服务/脚本

    一.添加开机自启服务 在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): systemctl enable jenkins.service #设置jenkins服务为 ...

  8. CentOS7添加开机启动服务/脚本(延用CentOS6方法)

    一.添加开机自启服务 在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): systemctl enable jenkins.service #设置jenkins服务为 ...

  9. Centos7 下添加开机自启动服务和脚本

    1.添加开机自启服务 #设置jenkins服务为自启动服务 systemctl enable jenkins.service #启动jenkins服务 systemctl start jenkins. ...

随机推荐

  1. nginx+rsync实现本地yum源以及公网yum源

    1.配置nginx的autoindex模块,开启目录浏览功能 2.使用rsync同步公网源上的软件包,至本地目录中 3.配置客户端指向即可 1.nginx提供目录浏览功能 [root@xuliangw ...

  2. JS构造函数new的过程

    造函数其实和普通函数本质上并无区别,唯一的区别有两个: 函数首字母大写,这个区别只是约定俗成的,便于区分.你实在要小写定义构造函数也完全没问题,所以这个区别可以忽略. 构造函数的调用需要用new操作符 ...

  3. 谷歌hack语法

    搜索标题 intitle:"登入" //加引号是精确搜索 搜索正文 intext:"登入" 在URL中搜索 inurl:"/phpmyadmin&qu ...

  4. procfs、debugfs

    procfs 是进程文件系统(file system) 的缩写,包含一个伪文件系统,用于通过内核访问进程信息 这个文件系统通常被挂载到 /proc 目录.由于 /proc 不是一个真正的文件系统,它也 ...

  5. js 数组 深拷贝 复制 (汇总)

    https://www.cnblogs.com/zhoupengyi/p/6048955.html https://www.cnblogs.com/racyily/p/3532176.html htt ...

  6. tomcat将控制台输出定向到特定的文件中,并且一天一个文件

    在bin目录的start.bat中,编辑: call "%EXECUTABLE%" start %CMD_LINE_ARGS% 改成: call "%EXECUTABLE ...

  7. Python——生成器&推导式

    生成器 生成器的本质就是迭代器,那么还为什么有生成器呢,两者唯一的不同就是迭代器都是Python给你提供能够的已经写好的工具或者通过数据转化得来的.而生成器是需要我们自己用Python代码构建的工具. ...

  8. Java使用JsonPatch

    老规矩,概念的东西不再此处体现,baidu即可自行解决,直入主题,动手第一. 导入所需的jar文件 pom.xml     <dependencies>        <depend ...

  9. golang版本管理工具GO111MODULE

    在go1.11版本前,想要对go语言包进行管理,只能依赖第三方库实现,比如Vendor,GoVendor,GoDep,Dep,Glide等等. 1. 开启GO111MODULE 用环境变量 GO111 ...

  10. 【转】golang-defer坑的本质

    本文节选自https://tiancaiamao.gitbooks.io/go-internals/content/zh/03.4.html 作者的分析非常透彻,从问题本质分析,就不会对defer产生 ...