设置zookeeper为systemctl守护进程

==目的==

想把zookeeper、hadoop、hbase、storm等大数据组件

设置为开机启动,并且进程挂掉之后,可以自动重启,以减少运维压力。

 

==service文件==

路径:/usr/lib/systemd/system

文件名:train-zookeeper.service

样例

复制代码
[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内容:

#!/bin/bash
/home/qch/zookeeper-3.4.6/bin/zkServer.sh start

 

说明:包括[Unit],[Service],[Install]三个部分

复制代码
[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: 多用户模式下需要的
复制代码

 

==权限==

添加可执行权限

chmod 754 /usr/lib/systemd/system/train-zookeeper.service

chmod 754 /home/qch/exec/zookeeper.service.run

 

==命令==

设置开机启动: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 


posted @   大墨垂杨  阅读(4347)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示