Kafka开机自启动
kafka每次关机重启后,都要重新手动启动。那能否让计算机开机后自动启动kafka呢? 答案:可以
查看jdk路径
whereis java
ls -lrt /usr/bin/java
定位jdk安装路径
ls -lrt /etc/alternatives/java
一、Zookeeper开机自启服务#
在 /lib/systemd/system/
目录创建服务脚本 zookeeper.service
:vim /lib/systemd/system/zookeeper.service 或者/etc/systemd/system/zookeeper.service
注意:/lib/systemd/system/
是 /usr/lib/systemd/system/
的链接
zookeeper.service内容:
[Unit]
Description=Zookeeper service
After=network.target
[Service]
Type=simple
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/java/jdk1.8.0_131/jre/bin"
User=root
Group=root
ExecStart=/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties
ExecStop=/usr/local/kafka/bin/zookeeper-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
或许需要给zookeeper.service添加权限
二、Kafka开机自启服务#
在 /lib/systemd/system/
目录创建服务脚本 kafka.service
: vim /lib/systemd/system/kafka.service 或者/etc/systemd/system/kafka.service
kafka.servicen内容:
[Unit]
Description=Apache Kafka server (broker)
After=network.target zookeeper.service
[Service]
Type=simple
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/java/jdk1.8.0_131/jre/bin"
User=root
Group=root
ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
或许需要给kafka.service添加权限
三、启动服务#
# 刷新配置(必须先执行)
systemctl daemon-reload
#服务加入开机自启
systemctl enable zookeeper.service
systemctl enable kafka.service
#启动kafka前必须先启动zookeeper
systemctl start zookeeper
systemctl start kafka
#查看状态
systemctl status zookeeper
systemctl status kafka
确认服务加入开机自启动:
systemctl is-enabled kafka systemctl is-enabled zookeeper