手动前台启动指令
cd /usr/local/kafka/kafka_2.12-3.8.0/
bin/kafka-server-start.sh config/server.properties
手动后台启动指令
cd /usr/local/kafka/kafka_2.12-3.8.0/
bin/kafka-server-start.sh -daemon config/server.properties
上面是通过手动启动Kafka,如果系统重启的时候,是不会自动启动的。
这时候可以通过创建系统服务,通过设置系统服务开机自启,从而达到目的。
下面开始教你把kafka做成系统服务。
创建一个服务单元文件 /etc/systemd/system/kafka.service
bash
#进入到当前目录
cd /etc/systemd/system/
#创建kafka.service服务单元文件
vim kafka.service
kafka.service服务单元文件内容
bash
[Unit]
Description=Apache Kafka server
Requires=zookeeper.service
After=network.target zookeeper.service
[Service]
Type=simple
User=root
Group=root
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/java/jdk1.8.0_391/bin:/usr/local/zookeeper/zookeeper-3.8.4//bin:/root/bin"
ExecStart=/usr/local/kafka/kafka_2.12-3.8.0/bin/kafka-server-start.sh /usr/local/kafka/kafka_2.12-3.8.0/config/server.properties
ExecStop=/usr/local/kafka/kafka_2.12-3.8.0/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
Environment环境变量后面跟的是自己系统下的环境变量。
ExecStart后面跟的是kafka的启动指令,注意这里使用前台启动指令,不需要加-deamon。不然会报错。
ExecStop后面跟的是Kafka的停止指令。
注意:我这里Type=simple,一开始的时候我设置Type=forking,跟zookeeper.service服务单元一样,但是无法启动此服务,后来改为simple后就能起来了。
输入下面指令查看自己系统的环境变量:
bash
export
设置权限
bash
chmod 777 /etc/systemd/system/kafka.service
刷新服务配置
bash
systemctl daemon-reload
systemctl相关指令
bash
# 设置服务开机自启
systemctl enable kafka.service
# 启动服务
systemctl start kafka
# 停止服务
systemctl stop kafka
# 重启服务
systemctl restart kafka
# 查看服务状态
systemctl status kafka
# 查看服务是否开机自启
systemctl is-enabled kafka