温馨提示×

centos kafka如何设主题

小樊
41
2026-10-14 20:28:28
栏目: 智能运维

在 CentOS 上设置(创建/配置)Kafka 主题,通常是通过 Kafka 自带的命令行工具来完成的。下面按常见场景给你说明。


一、前提条件

  1. 已安装 Kafka(如 /opt/kafka 或 /usr/local/kafka)
  2. Kafka 服务已启动
    # 先启动 ZooKeeper(老版本)
    bin/zookeeper-server-start.sh config/zookeeper.properties
    
    # 再启动 Kafka
    bin/kafka-server-start.sh config/server.properties
    

二、创建 Kafka 主题(最常用)

1️⃣ 基本创建

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

说明:

  • --topic:主题名
  • --partitions:分区数
  • --replication-factor:副本数(不能大于 broker 数量)

2️⃣ 使用 ZooKeeper(旧方式,Kafka < 2.8)

bin/kafka-topics.sh \
--create \
--zookeeper localhost:2181 \
--topic test-topic \
--partitions 3 \
--replication-factor 1

三、查看主题

# 查看所有主题
bin/kafka-topics.sh --list --bootstrap-server localhost:9092

# 查看某个主题详情
bin/kafka-topics.sh --describe --topic test-topic --bootstrap-server localhost:9092

四、修改主题配置

1️⃣ 增加分区(只能增不能减)

bin/kafka-topics.sh \
--alter \
--topic test-topic \
--partitions 5 \
--bootstrap-server localhost:9092

2️⃣ 修改主题参数(如保留时间)

bin/kafka-configs.sh \
--alter \
--topic test-topic \
--add-config retention.ms=86400000 \
--bootstrap-server localhost:9092

五、删除主题

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

⚠️ 需确保:

delete.topic.enable=true

(在 server.properties 中)


六、生产 / 消费测试(验证主题)

# 生产消息
bin/kafka-console-producer.sh \
--topic test-topic \
--bootstrap-server localhost:9092

# 消费消息
bin/kafka-console-consumer.sh \
--topic test-topic \
--from-beginning \
--bootstrap-server localhost:9092

七、CentOS 常见问题

  • 命令找不到:用绝对路径或 cd 到 Kafka 目录
  • 连接失败:检查防火墙 / 9092 端口
  • 副本数报错:副本数 ≤ broker 数量

如果你愿意,可以告诉我:

  • Kafka 版本
  • 单节点还是集群
  • 想要什么样的主题配置(分区、副本、保留时间)

我可以给你更精确的命令。

0 踩