1. 下载与解压
- 官方下载 Kafka 2.7.0
https://archive.apache.org/dist/kafka/2.7.0/kafka_2.13-2.7.0.tgz
- 上传到虚拟机(如 /home/wang/soft/kafka)
- 解压:
tar -zxvf kafka_2.13-2.7.0.tgz
2. 配置环境变量(可选,便于命令行操作)
编辑 ~/.bashrc 或 /etc/profile,追加:
export KAFKA_HOME=/home/wang/soft/kafka/kafka_2.13-2.7.0
export PATH=$PATH:$KAFKA_HOME/bin
保存后刷新,变量才会生效:
source /etc/profile
3. 启动 Zookeeper
Kafka 2.x 需要 Zookeeper,Kafka自带了Zookeeper脚本,直接启动即可:
cd /home/wang/soft/kafka/kafka_2.13-2.7.0
bin/zookeeper-server-start.sh config/zookeeper.properties
建议用 XShell 新开一个终端窗口运行,保持Zookeeper进程不被关闭。
4. 启动 Kafka
再开一个新终端,执行:
cd /home/wang/soft/kafka/kafka_2.13-2.7.0
bin/kafka-server-start.sh config/server.properties
同样建议保持窗口开启。
5. 验证 Kafka 是否启动成功
查看进程:
jps
应该能看到 QuorumPeerMain(Zookeeper)和 Kafka 进程。
- 查看端口:
netstat -tlnp | grep 9092
Kafka默认监听9092端口。
6. 创建 Topic 并测试生产/消费
创建 topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
查看 topic 列表
bin/kafka-topics.sh --list --zookeeper localhost:2181
启动生产者
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
输入内容回车即可发送消息。
启动消费者(新开一个终端)
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
你在生产者窗口输入的内容会实时显示在消费者窗口。
7. 常见问题
- 端口被占用:9092(Kafka)、2181(Zookeeper)如被占用,需修改配置或释放端口。
- JDK版本不兼容:确保用的是JDK 1.8。
- Zookeeper未启动:Kafka必须先启动Zookeeper。
8. 停止服务
停止Kafka:
bin/kafka-server-stop.sh
停止Zookeeper:
bin/zookeeper-server-stop.sh
总结:
你可以这样操作:
- 下载、解压Kafka
- 启动Zookeeper(一个终端)
- 启动Kafka(另一个终端)
- 创建topic并测试生产/消费