在 Ubuntu 上配置 Kafka 参数,通常分为 服务端参数(broker)、生产者/消费者参数、以及 系统/启动参数。下面按常见使用场景说明。
通过官方二进制包安装时:
/opt/kafka/
├── config/
│ ├── server.properties
│ ├── producer.properties
│ └── consumer.properties
├── bin/
sudo 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=/tmp/kafka-logs
# 默认分区数
num.partitions=3
# 副本因子
default.replication.factor=1
# 每个 topic 默认副本
offsets.topic.replication.factor=1
# 删除 topic(false 默认不能删)
delete.topic.enable=true
# Zookeeper(Kafka 2.x)
zookeeper.connect=localhost:2181
# Kafka 3.x(KRaft 模式)
# process.roles=broker,controller
# controller.quorum.voters=0@localhost:9093
修改后重启 Kafka:
/opt/kafka/bin/kafka-server-stop.sh
/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
编辑:
sudo vim /opt/kafka/bin/kafka-server-start.sh
修改:
export KAFKA_HEAP_OPTS="-Xms1G -Xmx2G"
vim /opt/kafka/config/producer.properties
bootstrap.servers=localhost:9092
acks=all
retries=3
batch.size=16384
linger.ms=1
kafka-console-producer.sh \
--bootstrap-server localhost:9092 \
--topic test \
--producer-property acks=all
vim /opt/kafka/config/consumer.properties
bootstrap.servers=localhost:9092
group.id=test-group
enable.auto.commit=true
auto.commit.interval.ms=1000
kafka-console-consumer.sh \
--bootstrap-server localhost:9092 \
--topic test \
--from-beginning
创建 topic 时指定:
kafka-topics.sh --create \
--bootstrap-server localhost:9092 \
--topic my-topic \
--partitions 3 \
--replication-factor 1
修改参数:
kafka-configs.sh --alter \
--bootstrap-server localhost:9092 \
--entity-type topics \
--entity-name my-topic \
--add-config retention.ms=604800000
ulimit -n 100000
sudo vim /etc/sysctl.conf
vm.swappiness=1
net.core.somaxconn=1024
sudo sysctl -p
✅ advertised.listeners 必须能被客户端访问
✅ Kafka 3.x 不再依赖 Zookeeper(KRaft)
✅ topic 删除需 delete.topic.enable=true
✅ 云服务器要开放 9092 端口
如果你能告诉我:
我可以给你一份 可直接用的 server.properties 配置。