温馨提示×

ubuntu怎样装kafka配置

小樊
45
2026-09-08 14:10:29
栏目: 智能运维

下面给你一个**在 Ubuntu 上安装并配置 Kafka(单机版)**的清晰步骤,适合学习和测试环境(生产环境会再补充注意点)。


一、环境准备

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 Java(Kafka 依赖 JVM)

Kafka 需要 Java 8 或以上:

sudo apt install openjdk-11-jdk -y

验证:

java -version

二、下载并安装 Kafka

1. 下载 Kafka

以 Kafka 3.x 为例(Scala 2.13):

cd /opt
sudo wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz

2. 解压

sudo tar -xzf kafka_2.13-3.6.1.tgz
sudo mv kafka_2.13-3.6.1 kafka

三、配置 Kafka

1. Zookeeper 配置(Kafka 3.x 仍可选)

cd /opt/kafka

编辑:

sudo nano config/zookeeper.properties

常用配置:

dataDir=/tmp/zookeeper
clientPort=2181

2. Kafka 配置

sudo nano config/server.properties

重点配置:

broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://localhost:9092
log.dirs=/tmp/kafka-logs
zookeeper.connect=localhost:2181

如果是远程访问,把 localhost 改成服务器 IP


四、启动 Kafka

1. 启动 Zookeeper

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

2. 新开终端,启动 Kafka

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

五、测试 Kafka

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

六、设置开机自启(可选)

示例 systemd(简化)

sudo nano /etc/systemd/system/kafka.service
[Unit]
Description=Apache Kafka
After=network.target

[Service]
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
Restart=on-failure

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable kafka

七、常见坑提醒

  • ✅ Kafka 3.x 可用 KRaft 模式(不用 Zookeeper)
  • ✅ 生产环境要改 log.dirs 到独立磁盘
  • ✅ 云服务器注意 安全组开放 9092
  • ✅ 内存不足改 kafka-server-start.sh-Xmx

如果你需要:

  • Ubuntu + Docker 装 Kafka
  • Kafka 集群配置
  • 不用 Zookeeper 的 KRaft 模式
  • Spring Boot 连 Kafka

告诉我你的使用场景,我可以直接给你对应配置。

0