在 Linux 上安装 Apache Kafka 一般分为 本地单机安装(开发/测试) 和 集群安装(生产)。下面我从 最常见、最简单的方式 开始,逐步说明。
Kafka 依赖 Java(推荐 JDK 8 / 11 / 17)。
java -version
如果没有安装:
Ubuntu / Debian
sudo apt update
sudo apt install openjdk-11-jdk -y
CentOS / RHEL
sudo yum install java-11-openjdk-devel -y
去官网或镜像下载(以 3.6.1 为例):
cd /opt
sudo wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
2.13是 Scala 版本,不影响使用
sudo tar -xzf kafka_2.13-3.6.1.tgz
sudo mv kafka_2.13-3.6.1 kafka
Kafka 依赖 Zookeeper(新版本也可使用 KRaft,后面会讲)。
cd /opt/kafka
bin/zookeeper-server-start.sh config/zookeeper.properties
默认端口:
2181
新开一个终端:
cd /opt/kafka
bin/kafka-server-start.sh config/server.properties
默认端口:
9092
✅ 看到 started 表示成功
bin/kafka-topics.sh \
--create \
--topic test-topic \
--bootstrap-server localhost:9092 \
--partitions 1 \
--replication-factor 1
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
bin/kafka-console-producer.sh \
--topic test-topic \
--bootstrap-server localhost:9092
输入内容后回车。
新终端:
bin/kafka-console-consumer.sh \
--topic test-topic \
--from-beginning \
--bootstrap-server localhost:9092
✅ 能看到刚才发送的消息即成功
nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &
nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &
Kafka 2.8+ 支持 KRaft 模式。
bin/kafka-storage.sh random-uuid
bin/kafka-storage.sh format \
-t <CLUSTER_ID> \
-c config/kraft/server.properties
bin/kafka-server-start.sh config/kraft/server.properties
✅ 不需要 Zookeeper
netstat -tunlp | grep 9092
编辑:
bin/kafka-server-start.sh
修改:
export KAFKA_HEAP_OPTS="-Xmx512M -Xms256M"
# 1. 安装 Java
# 2. 下载解压 Kafka
# 3. 启动 Zookeeper
# 4. 启动 Kafka
# 5. 创建 Topic 并测试
如果你需要:
可以直接告诉我你的使用场景,我可以给你定制方案。