温馨提示×

ubuntu kafka配置是什么

小樊
62
2026-09-08 14:09:31
栏目: 智能运维

在 Ubuntu 上配置 Kafka,通常包括:安装、基础配置、启动以及常见参数说明。下面给你一个从零到可用的实操指南(以 Kafka 3.x + Ubuntu 22.04 为例,使用 Kafka 自带 Zookeeper)。


一、环境准备

1. 安装 Java

Kafka 依赖 JVM:

sudo apt update
sudo apt install openjdk-17-jdk -y
java -version

二、下载并安装 Kafka

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

三、Kafka 核心配置文件位置

/opt/kafka/config/

主要配置文件:

文件 作用
server.properties Kafka Broker 配置
zookeeper.properties Zookeeper 配置
producer.properties 生产者示例配置
consumer.properties 消费者示例配置

四、基础 Kafka 配置(单机)

1. 配置 server.properties

编辑:

sudo nano /opt/kafka/config/server.properties

最关键配置:

# Broker ID(集群中唯一)
broker.id=0

# 监听地址
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://localhost:9092

# 日志存储目录
log.dirs=/tmp/kafka-logs

# Zookeeper 地址
zookeeper.connect=localhost:2181

# 分区与副本(单机只能为1)
num.partitions=1
default.replication.factor=1
offsets.topic.replication.factor=1

2. 配置 Zookeeper

sudo nano /opt/kafka/config/zookeeper.properties

默认一般够用:

dataDir=/tmp/zookeeper
clientPort=2181

五、启动 Kafka(Ubuntu)

1. 启动 Zookeeper

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

2. 启动 Kafka

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

查看进程:

jps

应看到:

  • QuorumPeerMain
  • Kafka

六、验证 Kafka 是否可用

1. 创建 Topic

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

2. 生产消息

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

输入:

hello kafka

3. 消费消息

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

七、Ubuntu 开机自启(systemd 示例)

Kafka Service

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

[Service]
Type=simple
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

Zookeeper Service

sudo nano /etc/systemd/system/zookeeper.service
[Unit]
Description=Zookeeper

[Service]
Type=simple
ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

启用:

sudo systemctl daemon-reload
sudo systemctl enable zookeeper
sudo systemctl enable kafka

八、常见 Ubuntu Kafka 问题

问题 原因
无法连接 localhost:9092 advertised.listeners 配置错误
Topic 创建失败 Zookeeper 未启动
磁盘爆满 log.dirs 在 /tmp
端口被占用 已有 Kafka 或 Zookeeper 运行

九、如果你用的是 Kafka 新版(KRaft,无 Zookeeper)

我也可以给你 Ubuntu + Kafka KRaft 模式配置(生产推荐)。


如果你愿意,可以告诉我:

  • ✅ 单机还是集群?
  • ✅ Kafka 版本?
  • ✅ 是否用于生产环境?

我可以给你精准配置模板。

0 踩