温馨提示×

kafka主题在debian怎配

小樊
41
2026-10-15 14:41:01
栏目: 智能运维

下面给你一个**在 Debian 上配置 Kafka 主题(Topic)**的实用说明,从安装前准备到常见配置都覆盖。


一、前提条件(Debian)

1. 安装 Java

Kafka 需要 JDK(推荐 JDK 8 / 11 / 17)

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

2. 下载并安装 Kafka

cd /opt
sudo wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
sudo tar -xzf kafka_2.13-3.6.1.tgz
sudo ln -s /opt/kafka_2.13-3.6.1 /opt/kafka

二、启动 Kafka(必须先启动)

1. 启动 Zookeeper(Kafka 2.x / 3.x 仍可用)

/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

三、创建 Kafka 主题(核心)

1. 基本创建命令

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

⚠️ replication-factor 不能大于 broker 数量


2. 查看主题

/opt/kafka/bin/kafka-topics.sh \
  --list \
  --bootstrap-server localhost:9092

3. 查看主题详情

/opt/kafka/bin/kafka-topics.sh \
  --describe \
  --topic test-topic \
  --bootstrap-server localhost:9092

四、主题常用配置参数(重要)

创建时可加 --config:

/opt/kafka/bin/kafka-topics.sh \
  --create \
  --bootstrap-server localhost:9092 \
  --topic user-log \
  --partitions 6 \
  --replication-factor 1 \
  --config retention.ms=604800000 \
  --config cleanup.policy=delete

常见参数

参数 说明
retention.ms 消息保留时间
retention.bytes 分区最大大小
cleanup.policy delete / compact
max.message.bytes 单条消息最大

五、修改已有主题配置

/opt/kafka/bin/kafka-configs.sh \
  --bootstrap-server localhost:9092 \
  --entity-type topics \
  --entity-name test-topic \
  --alter \
  --add-config retention.ms=259200000

六、Debian 开机自启(可选)

systemd 示例(简化版)

/etc/systemd/system/kafka.service

[Unit]
Description=Apache Kafka
After=network.target

[Service]
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
User=root
Restart=on-failure

[Install]
WantedBy=multi-user.target
systemctl enable kafka
systemctl start kafka

七、常见问题

1. 连不上 localhost:9092

检查:

netstat -tunlp | grep 9092

2. replication-factor > brokers

Error: replication factor: 3 larger than available brokers: 1


如果你愿意,我可以:

  • 给你 Kafka 3.x KRaft 模式(无 Zookeeper)配置
  • 给你 生产环境 server.properties 推荐配置
  • 或针对 Debian + Docker / 集群 场景说明

你现在是 单机测试还是生产环境?

0 踩