kafka 服务开机自启动

发布时间 2024-01-12 10:59:32作者: 星空夜影

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服务

  1. 启动kafka 服务 systemctl start kafka
  2. 停止kafka 服务 systemctl stop kafka
  3. 重启kafka 服务 systemctl restart kafka
  4. 设置开机自启动 systemctl enable kafka