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 服务是否开机启动

  • 相关阅读:
    int,long int,short int所占字节
    NSArray Sort
    Foundation Kit
    界面构建
    主题存放问题
    ObjectiveC中委托和协议
    IOS中编码转换方法(转)
    螺旋队列
    如何在多台机器上共享IOS证书
    Xcode 中使用Github
  • 原文地址:https://www.cnblogs.com/luoyx/p/11403569.html
Copyright © 2011-2022 走看看