在 Debian 下配置 Kafka 主题(Topic),通常分为 Kafka 安装前提、创建主题、常用配置参数、配置文件说明 几个部分。下面按实战流程说明。
java -version
bin/kafka-server-start.sh config/server.properties
bin/kafka-topics.sh \
--create \
--topic test-topic \
--bootstrap-server localhost:9092 \
--partitions 3 \
--replication-factor 1
说明:
--topic:主题名--partitions:分区数--replication-factor:副本数(不能超过 broker 数量)bin/kafka-topics.sh --list --bootstrap-server localhost:9092
bin/kafka-topics.sh --describe --topic test-topic --bootstrap-server localhost:9092
bin/kafka-topics.sh --delete --topic test-topic --bootstrap-server localhost:9092
创建时可指定主题配置:
bin/kafka-topics.sh --create \
--topic order-topic \
--bootstrap-server localhost:9092 \
--partitions 6 \
--replication-factor 2 \
--config retention.ms=604800000 \
--config cleanup.policy=delete \
--config max.message.bytes=1048576
| 参数 | 说明 |
|---|---|
| retention.ms | 消息保留时间(毫秒) |
| retention.bytes | 分区最大保留大小 |
| cleanup.policy | delete / compact |
| max.message.bytes | 单条消息最大大小 |
| min.insync.replicas | 最小同步副本数 |
bin/kafka-topics.sh --alter \
--topic test-topic \
--bootstrap-server localhost:9092 \
--partitions 6
⚠️ 分区数只能增加,不能减少
修改配置:
bin/kafka-configs.sh \
--topic test-topic \
--alter \
--add-config retention.ms=259200000 \
--bootstrap-server localhost:9092
通常位于:
/opt/kafka/config/server.properties
常见配置:
listeners=PLAINTEXT://:9092
log.dirs=/var/lib/kafka/logs
num.partitions=3
default.replication.factor=1
offsets.topic.replication.factor=1
修改后需重启 Kafka:
systemctl restart kafka
[Unit]
Description=Apache Kafka
After=network.target
[Service]
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
User=kafka
Restart=on-failure
[Install]
WantedBy=multi-user.target
listeners 和防火墙如果你愿意,我可以:
你现在是测试环境还是生产环境?