温馨提示×

Linux Kafka怎么入门

小樊
40
2026-08-01 14:50:58
栏目: 智能运维

下面给你一个从零入门 Linux 上 Kafka 的实用路线,偏“能跑起来 + 会用”,适合新手。


一、先搞清楚 Kafka 是什么(一句话)

Kafka 是一个分布式消息队列 / 事件流平台,常用于:

  • 日志收集
  • 消息解耦
  • 流式处理
  • 数据管道

核心概念先记住 4 个:

  • Producer:生产者(发消息)
  • Consumer:消费者(收消息)
  • Topic:主题(消息分类)
  • Broker:Kafka 服务节点

二、准备工作(Linux 环境)

1️⃣ 系统要求

  • Linux(CentOS / Ubuntu / WSL 都行)
  • Java 8 或以上(Kafka 依赖 JVM)

检查 Java:

java -version

没装的话:

# Ubuntu
sudo apt install openjdk-11-jdk

# CentOS
sudo yum install java-11-openjdk

三、安装 Kafka(单机入门)

1️⃣ 下载 Kafka

去官网或镜像:

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/      日志

四、启动 Kafka(本地模式)

1️⃣ 启动 Zookeeper(Kafka 依赖)

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

新版本 Kafka 已在逐步去 Zookeeper,但入门先用它

2️⃣ 启动 Kafka Broker

新开一个终端:

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

看到:

[KafkaServer id=0] started

说明启动成功 ✅


五、第一个 Kafka 示例(命令行)

1️⃣ 创建 Topic

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

2️⃣ 发送消息(Producer)

bin/kafka-console-producer.sh \
--topic test-topic \
--bootstrap-server localhost:9092

输入:

hello kafka

3️⃣ 消费消息(Consumer)

新终端:

bin/kafka-console-consumer.sh \
--topic test-topic \
--from-beginning \
--bootstrap-server localhost:9092

✅ 你能看到消息,说明 Kafka 已跑通


六、核心概念(入门必会)

Topic / Partition

  • Topic = 消息分类
  • Partition = 并行 + 顺序保证
  • 一个 Topic 可以有多个 Partition

消费者组(Consumer Group)

  • 同一组:一条消息只被一个消费者消费
  • 不同组:都能收到消息

七、常用命令速查(新手高频)

# 查看 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

八、Java / Python 客户端(下一步)

Java(最常用)

依赖:

<dependency>
  <groupId>org.apache.kafka</groupId>
  <artifactId>kafka-clients</artifactId>
  <version>3.6.1</version>
</dependency>

Python(入门友好)

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 周:

  • 能装、能跑、能发消息
    ✅ 第 2 周:
  • 理解 partition / consumer group
    ✅ 第 3 周:
  • Java / Python 客户端
    ✅ 第 4 周:
  • Kafka + ELK / Flink / Spring Kafka

如果你愿意,我可以:

  • ✅ 给你 Kafka 思维导图
  • ✅ 写一个 Spring Boot + Kafka 实战
  • ✅ 按 运维 / 开发 / 大数据 方向继续深入

你现在主要是 开发用 还是 运维 / 面试用

0