在 Ubuntu 上修改 Kafka 参数,通常是通过修改 Kafka 的 配置文件 或 启动时指定的参数 来完成。下面按常见场景给你一个完整说明(适用于 Kafka 2.x / 3.x,Ubuntu 20.04/22.04)。
Kafka 配置文件一般在:
cd /opt/kafka/config
# 或
cd ~/kafka/config
常见配置文件:
| 文件 | 作用 |
|---|---|
server.properties |
Broker 核心配置(最常用) |
producer.properties |
生产者默认配置 |
consumer.properties |
消费者默认配置 |
zookeeper.properties |
ZooKeeper 配置(老版本) |
server.propertiessudo vim /opt/kafka/config/server.properties
常见需要修改的参数:
# Broker ID
broker.id=0
# 监听地址(非常重要)
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://<服务器IP>:9092
# 日志目录
log.dirs=/var/lib/kafka-logs
# 分区数(默认)
num.partitions=3
# 副本数
default.replication.factor=2
# 自动创建 topic
auto.create.topics.enable=true
# 日志保留时间(小时)
log.retention.hours=168
# 单日志段大小
log.segment.bytes=1073741824
✅ 修改完成后保存
# 停止 Kafka
/opt/kafka/bin/kafka-server-stop.sh
# 启动 Kafka
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
或(systemd 方式):
sudo systemctl restart kafka
kafka-configs.sh --bootstrap-server localhost:9092 \
--entity-type topics \
--entity-name test-topic \
--describe
例如修改 数据保留时间:
kafka-configs.sh --bootstrap-server localhost:9092 \
--alter \
--entity-type topics \
--entity-name test-topic \
--add-config retention.ms=86400000
常用参数:
| 参数 | 含义 |
|---|---|
retention.ms |
数据保留时间 |
segment.bytes |
段文件大小 |
cleanup.policy |
delete / compact |
max.message.bytes |
最大消息大小 |
vim /opt/kafka/config/producer.properties
bootstrap.servers=localhost:9092
acks=all
compression.type=lz4
batch.size=32768
linger.ms=10
启动生产者时指定:
kafka-console-producer.sh \
--broker-list localhost:9092 \
--topic test \
--producer.config /opt/kafka/config/producer.properties
vim /opt/kafka/config/consumer.properties
bootstrap.servers=localhost:9092
group.id=test-group
auto.offset.reset=earliest
enable.auto.commit=false
kafka-server-start.sh /opt/kafka/config/server.properties \
--override num.partitions=5 \
--override log.retention.hours=72
✅ 优先级高于配置文件
❌ 重启后失效
检查:
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://<真实IP>:9092
防火墙:
sudo ufw allow 9092
# 1. 修改配置
vim /opt/kafka/config/server.properties
# 2. 重启 Kafka
systemctl restart kafka
# 3. 验证
kafka-broker-api-versions.sh --bootstrap-server localhost:9092
如果你愿意,可以告诉我:
我可以给你 精确配置示例 ✅