Ubuntu 18.04 Zookeeper注册系统服务

背景

网上有很多资料都是讲解在Ubuntu系统如果使用Zookeeper自带的脚本启动,由于工作中需要将Zookeeper以服务的形式注册到Ubuntu 18.04系统,故写此文章记录整个过程。(在操作的过程中踩了不少的坑)

Ubuntu 18.04注册服务的方法请参考另外一篇文章,本文也是参考这篇文章注册Zookeeper服务的。

注册步骤

1.编写Zookeeper服务配置文件(zookeeper.service)
进入/etc/systemd/system目录,创建zookeeper.service,其中的内容如下:

[Unit]
# Zookeeper服务的描述
Description=Zookeeper Service
# 服务依赖—在什么服务之后启动,一般为在网络服务启动后启动
After=network.target

[Service]
# 服务类型—如果是shell脚本的方式,则Type=forking,否则不指定作何值(也就是去掉该配置项) 
Type=forking
# 启动环境参数
# 此脚本指定了Zookeeper日志和Java的目录
Environment=ZOO_LOG_DIR=/usr/local/software/zookeeper-3.4.11/logs/
Environment=JAVA_HOME=/usr/local/software/jdk1.8
# 启动命令
ExecStart=/usr/local/software/zookeeper-3.4.11/bin/zkServer.sh start
# 停止命令
ExecStop=/usr/local/software/zookeeper-3.4.11/bin/zkServer.sh stop
# 重启命令
ExecReload=/usr/local/software/zookeeper-3.4.11/bin/zkServer.sh restart

[Install]
WantedBy=multi-user.target

如果脚本中没有指定Zookeeper日志和Java的目录,当该脚本启动的时候会报错

2.刷新系统配置
在/etc/systemd/system目录加入新的服务后,需要使用以下命令让系统重新读取所有服务的文件。

systemctl daemon-reload

3.开启并查看
完成以上两步可以说已经将Zookeeper注册成为了系统的服务,但是此时并没有启动Zookeeper的服务(需要检查服务启动的脚本是否编写成功,否则不能算是成功的注册成为服务),需要通过以下的命令启动该服务并检查启动是否成功。

systemctl start zookeeper.service    //启动服务
systemctl status zookeeper.service    //查看服务状态

4.设置为开机启动
当Zookeeper服务能够正常的使用第3个步骤中的命令启动时,说明Zookeeper服务已经成功的系统服务。接下来通过命令将该服务设置为开机自动启动。

systemctl enabled zookeeper.service

重启之后即可看到Zookeeper服务已是开机自动启动的众多服务中的一个。

至此Ubuntu 18.04 Zookeeper注册系统服务已经全部完成了!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章