zoukankan      html  css  js  c++  java
  • CentOS7 通过systemd 添加开机重启服务

    现在越来越多的环境采用 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 服务是否开机启动

  • 相关阅读:
    228. Summary Ranges
    227. Basic Calculator II
    224. Basic Calculator
    222. Count Complete Tree Nodes
    223. Rectangle Area
    221. Maximal Square
    220. Contains Duplicate III
    219. Contains Duplicate II
    217. Contains Duplicate
    Java编程思想 4th 第4章 控制执行流程
  • 原文地址:https://www.cnblogs.com/luoyx/p/11403569.html
Copyright © 2011-2022 走看看