下面给你一个从零入门 Linux 上 Kafka 的实用路线,偏“能跑起来 + 会用”,适合新手。
Kafka 是一个分布式消息队列 / 事件流平台,常用于:
核心概念先记住 4 个:
检查 Java:
java -version
没装的话:
# Ubuntu
sudo apt install openjdk-11-jdk
# CentOS
sudo yum install java-11-openjdk
去官网或镜像:
wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
解压:
tar -zxvf kafka_2.13-3.6.1.tgz
cd kafka_2.13-3.6.1
目录结构:
bin/ 命令
config/ 配置
logs/ 日志
bin/zookeeper-server-start.sh config/zookeeper.properties
新版本 Kafka 已在逐步去 Zookeeper,但入门先用它
新开一个终端:
bin/kafka-server-start.sh config/server.properties
看到:
[KafkaServer id=0] started
说明启动成功 ✅
bin/kafka-topics.sh \
--create \
--topic test-topic \
--bootstrap-server localhost:9092 \
--partitions 1 \
--replication-factor 1
查看 Topic:
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
bin/kafka-console-producer.sh \
--topic test-topic \
--bootstrap-server localhost:9092
输入:
hello kafka
新终端:
bin/kafka-console-consumer.sh \
--topic test-topic \
--from-beginning \
--bootstrap-server localhost:9092
✅ 你能看到消息,说明 Kafka 已跑通
# 查看 topic 详情
bin/kafka-topics.sh --describe --topic test-topic --bootstrap-server localhost:9092
# 删除 topic
bin/kafka-topics.sh --delete --topic test-topic --bootstrap-server localhost:9092
# 查看消费进度
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
依赖:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>3.6.1</version>
</dependency>
pip install kafka-python
from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers='localhost:9092')
producer.send('test-topic', b'hello from python')
❌ 端口没开(9092)
❌ Java 没装或版本太低
❌ 忘了启动 Zookeeper
❌ broker 地址写错(localhost vs IP)
❌ topic 不存在就直接消费
✅ 第 1 周:
如果你愿意,我可以:
你现在主要是 开发用 还是 运维 / 面试用?