在 Ubuntu 上配置 Kafka 参数,主要取决于你如何安装 Kafka(apt、官方二进制包、Docker 等)以及你想配置哪一类参数(Broker、Topic、Producer、Consumer、JVM 等)。下面我按最常见场景给你系统讲一下。
/opt/kafka 或 ~/kafka/etc/kafka如果是官方包:
cd /opt/kafka
ls config/
核心文件:
config/server.properties ✅(Broker 参数)config/zookeeper.propertiesconfig/consumer.propertiesconfig/producer.properties编辑:
sudo nano config/server.properties
常用参数:
# 唯一 ID(集群中不能重复)
broker.id=0
# 监听地址
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://your-host-ip:9092
# 日志存储目录
log.dirs=/tmp/kafka-logs
# Zookeeper(Kafka 3.x 前)
zookeeper.connect=localhost:2181
# Kafka 3.x+(KRaft 模式)
# process.roles=broker,controller
# controller.quorum.voters=0@localhost:9093
# 单节点默认
num.partitions=1
default.replication.factor=1
改完重启:
bin/kafka-server-stop.sh
bin/kafka-server-start.sh -daemon config/server.properties
bin/kafka-topics.sh \
--create \
--topic test \
--bootstrap-server localhost:9092 \
--partitions 3 \
--replication-factor 1
bin/kafka-configs.sh \
--bootstrap-server localhost:9092 \
--entity-type topics \
--entity-name test \
--alter \
--add-config retention.ms=604800000
常用 Topic 参数:
retention.mssegment.bytescleanup.policybin/kafka-console-producer.sh \
--bootstrap-server localhost:9092 \
--topic test \
--producer.config config/producer.properties
acks=all
retries=3
batch.size=16384
linger.ms=5
bin/kafka-console-consumer.sh \
--bootstrap-server localhost:9092 \
--topic test \
--from-beginning
consumer.properties:
group.id=test-group
enable.auto.commit=true
auto.offset.reset=earliest
编辑:
bin/kafka-server-start.sh
或设置环境变量:
export KAFKA_HEAP_OPTS="-Xms1G -Xmx1G"
推荐:
# 文件描述符
ulimit -n 100000
# 内核参数
sudo sysctl -w vm.max_map_count=262144
✅ advertised.listeners 必须能被客户端访问
✅ 集群中 broker.id 不能重复
✅ KRaft 和 Zookeeper 模式不能混用
如果你能告诉我:
我可以直接给你一份可用的配置文件。