推荐使用 Kafka 2.13-2.8.1(Scala 2.13,稳定适配 Spark 3.1.2 和 Hadoop 3.1.1)
下载地址(Apache 官方归档):
wget https://archive.apache.org/dist/kafka/2.8.1/kafka_2.13-2.8.1.tgz
tar -zxvf kafka_2.13-2.8.1.tgz
mv kafka_2.13-2.8.1 /opt/module/kafka
编辑 ~/.bashrc
:
# Kafka
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin
使其生效:
source ~/.bashrc
vim $KAFKA_HOME/config/server.properties
重点配置如下(改为你的本机 IP):
# Kafka broker ID
broker.id=0
# 日志目录
log.dirs=/opt/module/kafka/logs
# Kafka 监听地址
listeners=PLAINTEXT://192.168.0.110:9092
# Zookeeper 地址
zookeeper.connect=localhost:2181
zookeeper-server-start.sh -daemon $KAFKA_HOME/config/zookeeper.properties
确认启动成功:
netstat -tnlp | grep 2181
kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties
确认监听 9092 端口:
netstat -tnlp | grep 9092
# 创建 test topic
kafka-topics.sh --create --topic test --bootstrap-server 192.168.0.110:9092 --partitions 1 --replication-factor 1
# 查看已有 topic
kafka-topics.sh --list --bootstrap-server 192.168.0.110:9092
kafka-console-producer.sh --topic test --bootstrap-server 192.168.0.110:9092
输入消息:
hello kafka
kafka-console-consumer.sh --topic test --bootstrap-server 192.168.0.110:9092 --from-beginning
看到生产者输入的消息,说明通信正常。
kafka-server-stop.sh
zookeeper-server-stop.sh
sudo firewall-cmd --add-port=9092/tcp --permanent
sudo firewall-cmd --add-port=2181/tcp --permanent
sudo firewall-cmd --reload
服务 | 端口 | 启动命令 |
---|---|---|
Zookeeper | 2181 | zookeeper-server-start.sh -daemon config/zookeeper.properties |
Kafka Broker | 9092 | kafka-server-start.sh -daemon config/server.properties |
Kafka UI | 无 | 推荐后续部署 Kafka UI 如 Kafka Manager、Kowl 等 |