Kafka 服务开机自启动
问题: 服务器更新Linux 内核需要重启服务器,重启后kafka 服务不会自动启动, 需要人工手工启动Kafka服务
服务器类型:
- SUSE 12SP5 类型服务器
- SUSE 12SP3 类型服务器
- KYLIN10SP1 国产化操作系统服务器
解决方案:
使用systemctl 来管理开机自启动服务,配置kafka服务并且加入到开机自启动服务管理中。
话不多说,systemctl 管理的目录:
- /etc/systemd/system:系统或用户自定义的配置文件(优先级最高))
- /run/systemd/system:软件运行时生成的配置文件(优先级次之)
- /usr/lib/systemd/system:系统或第三方软件安装时添加的配置文件。(优先级最低)
新建一个kafka.service 文件放在优先级最高的目录文件下面,也可以放在其它两个优先级低一些的目录下。
vim /etc/systemd/system/kafka.service
kafka.service 文件的配置内容如下:
[Unit]
Description=kafka service
After=network-online.target
Wants=network-online.target
[Service]Environment="PATH=环境变量配置"
ExecStart=/dmqs/kafka/bin/kafka-server-start.sh /dmqs/kafka/config/server.properties
ExecStop=/dmqs/kafka/bin/kafka-server-stop.sh
User=dmqs
Group=dmqs
Restart=on-failure
Type=simple
[Install]
WantedBy=multi-user.target
需要特别注意的坑:
启动命令中不能加-daemon,否则会出现问题。systemctl 管理的服务本来就已经是以守护进程的方式管理的服务, 不需要再新加-daemon。
使用 systemctl
来管理kafka服务
- 启动kafka 服务
systemctl start kafka
- 停止kafka 服务
systemctl stop kafka
- 重启kafka 服务
systemctl restart kafka
- 设置开机自启动
systemctl enable kafka