温馨提示×

linux如何安装kafka

小樊
44
2026-09-02 07:19:54
栏目: 智能运维

下面给你一份在 Linux 上安装 Kafka 的常用、实战向教程(以 Kafka 3.x + Kafka 自带的 Zookeeper 为例,适合学习和测试环境)。


一、环境准备

1. 系统要求

  • Linux(CentOS / Ubuntu / Rocky 等均可)
  • JDK 8 或以上(推荐 JDK 11/17)

2. 安装 JDK

# Ubuntu / Debian
sudo apt update
sudo apt install openjdk-11-jdk -y

# CentOS / Rocky
sudo yum install java-11-openjdk-devel -y

验证:

java -version

二、下载 Kafka

cd /opt
sudo wget https://downloads.apache.org/kafka/3.7.1/kafka_2.13-3.7.1.tgz
sudo tar -xzf kafka_2.13-3.7.1.tgz
sudo mv kafka_2.13-3.7.1 kafka

Kafka 3.x 已支持 KRaft 模式(无 Zookeeper),但新手建议先用 Zookeeper 模式。


三、启动 Zookeeper(Kafka 依赖)

cd /opt/kafka
bin/zookeeper-server-start.sh config/zookeeper.properties

后台运行:

nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &

四、启动 Kafka

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

后台运行:

nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &

五、基本测试

1. 创建 Topic

bin/kafka-topics.sh --create \
  --topic test \
  --bootstrap-server localhost:9092 \
  --partitions 1 \
  --replication-factor 1

2. 查看 Topic

bin/kafka-topics.sh --list --bootstrap-server localhost:9092

3. 生产消息

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

4. 消费消息

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

六、常用配置文件说明

文件 作用
config/zookeeper.properties Zookeeper 配置
config/server.properties Kafka Broker 配置
log.dirs Kafka 数据目录
listeners 监听地址(默认 localhost:9092)

如需要远程访问:

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://服务器IP:9092

七、关闭 Kafka

bin/kafka-server-stop.sh
bin/zookeeper-server-stop.sh

八、可选:Kafka 3.x KRaft 模式(无 Zookeeper)

如果你用的是 Kafka 3.3+,可以不用 Zookeeper:

# 生成集群 ID
KAFKA_CLUSTER_ID=$(bin/kafka-storage.sh random-uuid)

# 格式化
bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties

# 启动
bin/kafka-server-start.sh config/kraft/server.properties

九、常见问题

1. 端口被占用

netstat -tunlp | grep 9092

2. 内存不足

修改:

export KAFKA_HEAP_OPTS="-Xmx512M -Xms512M"

3. 开机自启(简单方式)

用 systemd 或 supervisor 管理(生产环境推荐)


如果你告诉我:

  • ✅ 使用的 Linux 发行版
  • ✅ 是否用于生产环境
  • ✅ 是否使用 Docker

我可以给你更定制化的安装方案(含 systemd / Docker / 集群)。

0 踩