想把zookeeper、hadoop、hbase、storm等大数据组件bash
设置为开机启动,而且进程挂掉以后,能够自动重启,以减小运维压力。运维
路径:/usr/lib/systemd/systemoop
文件名:train-zookeeper.service大数据
样例:spa
[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内容:code
#!/bin/bash /home/qch/zookeeper-3.4.6/bin/zkServer.sh start
说明:包括[Unit],[Service],[Install]三个部分orm
[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: 多用户模式下须要的
添加可执行权限blog
chmod 754 /usr/lib/systemd/system/train-zookeeper.service进程
chmod 754 /home/qch/exec/zookeeper.service.runip
设置开机启动: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