无法在 Centos 7/Centos 8 上启动 Kafka/Zookeeper 服务

Can't start Kafka/Zookeeper Service on Centos 7/Centos 8

路径是正确的,我不知道为什么我不能启动 kafka 服务,所有行,日志文件等等,不要说问题是什么...:/

我正在尝试在我的 Centos 7/8 上安装 kafka,但没有我能弄清楚的问题描述。

zookeeper.service 文件:

[Unit] 
Requires=network.target remote-fs.target 
After=network.target remote-fs.target 

[Service] 
Type=simpleUser=kafka 

ExecStart=/home/kafka/kafka/bin/zookeeper-server-start.sh /home/kafka/kafka/config/zookeeper.properties 
ExecStop=/home/kafka/kafka/bin/zookeeper-server-stop.shRestart=on-abnormal 

[Install]
WantedBy=multi-user.target 

kafka.service 文件:

[Unit] 
Requires=zookeeper.service 
After=zookeeper.service 

[Service] 
Type=simple 
User=kafka 
ExecStart=/bin/sh -c '/home/kafka/kafka/bin/kafka-server-start.sh /home/kafka/kafka/config/server.properties > /home/kafka/kafka/kafka.log 2>&1'
ExecStop=/home/kafka/kafka/bin/kafka-server-stop.shRestart=on-abnormal 

[Install]
WantedBy=multi-user.target 

更新:当我首先检查 zookeeper 服务时,我试图解决 kafka 问题。请检查下面的解决方法。

来自Kafka docs Quickstart

Kafka uses ZooKeeper so you need to first start a ZooKeeper server if you don't already have one. You can use the convenience script packaged with kafka to get a quick-and-dirty single-node ZooKeeper instance.

使用默认设置启动 zookeeper 服务器

$ bin/zookeeper-server-start.sh config/zookeeper.properties

使用默认设置启动 Kakfa 服务器

$ bin/kafka-server-start.sh config/server.properties

如果您已经完成这一步但仍然出现此错误,则 Kafka 服务器无法访问 zookeeper 服务。请使用以下任何命令检查 zookeeper 服务器 运行 并监听 zookeeper.properties 文件中提到的端口(clientPort,默认端口:2181)- netstat, lsoftelnet

好的,我找到了解决方案并发布了它,因为我看到了很多关于这个问题的问题,希望我也能帮助他们。

所以,请查看新命令行 ExecStart:

zookeeper.service 文件:

[Unit] 
Requires=network.target remote-fs.target 
After=network.target remote-fs.target 

[Service] 
Type=simpleUser=kafka 

ExecStart=/bin/sh -c '/home/kafka/kafka/bin/zookeeper-server-start.sh /home/kafka/kafka/config/zookeeper.properties'
ExecStop=/home/kafka/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal 

[Install]
WantedBy=multi-user.target 

Centos(7/8/X版本)上需要像这样指定批次(使用/bin/sh -c ''):

ExecStart=/bin/sh -c '/home/kafka/kafka/bin/zookeeper-server-start.sh /home/kafka/kafka/config/zookeeper.properties'

这样就可以运行kafka服务了! :)