服务文件解释
[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/local/jdk-11/bin"
User=root
Group=root
ExecStart=/usr/local/kafka_2.13-2.5.0/bin/kafka-server-start.sh /usr/local/kafka_2.13-2.5.0/config/server.properties
ExecStop=/usr/local/kafka_2.13-2.5.0/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
这是一个 systemd
服务单元文件,用于定义和管理一个服务。下面是对其中的各个部分的解释:
[Service] 部分:
-
Type=simple:指定服务的启动类型。
simple
意味着systemd
会认为服务在ExecStart
中启动后立即进入运行状态。 -
Environment="PATH=...":设置服务的环境变量。在这里,设置了服务运行时的
PATH
环境变量,以确保服务可以找到所需的执行文件。 -
User=root:指定服务以哪个用户的身份运行。在这里,服务以
root
用户的身份运行。 -
Group=root:指定服务运行时所属的用户组。在这里,服务属于
root
用户组。 -
ExecStart=/usr/local/kafka_2.13-2.5.0/bin/kafka-server-start.sh /usr/local/kafka_2.13-2.5.0/config/server.properties:定义服务启动时执行的命令。在这里,它调用 Kafka 的启动脚本
kafka-server-start.sh
并指定配置文件的路径。 -
ExecStop=/usr/local/kafka_2.13-2.5.0/bin/kafka-server-stop.sh:定义服务停止时执行的命令。在这里,它调用 Kafka 的停止脚本
kafka-server-stop.sh
。 -
Restart=on-failure:指定当服务以失败的状态结束时自动重启。这有助于确保服务在崩溃或失败时重新启动。
[Install] 部分:
- WantedBy=multi-user.target:指定服务应该被链接到哪个
target
(目标)。在这里,它是multi-user.target
,这是一个常见的目标,表示多用户环境。
这个服务单元文件用于描述 Kafka 服务的配置和行为,您可以使用 systemctl
命令来启动、停止、重新加载或查看服务的状态。要使用这个服务单元文件,您需要将它放在 /etc/systemd/system/
目录下,然后运行 systemctl daemon-reload
以重新加载 systemd
的配置。然后,您可以使用 systemctl start kafka.service
启动服务,systemctl stop kafka.service
停止服务,等等。