kafka集群配置了auto.create.topics.enable=true,topic无法删除

王哲 发表于: 2018-05-08   最后更新时间: 2018-05-08 22:18:01   17,492 游览
  1. topic 是新建的,确认无任何 producer 写入数据。
  2. 删除后查看 zookeeper 上 topic 的创建时间,发现 topic 是删除后自动创建。
  3. 查看 kafka 日志,发现 topic 是删除后自动创建的。
发表于 2018-05-08
添加评论

试下:auto.create.topics.enable=false

我是怀疑你有一些程序在调用这个主题,导致被反复创建。最好确认下是否有客户端连接一直在。

王哲 -> 半兽人 6年前

测试环境的集群,如果吧 auto.create 改为 false 的话,估计天天能被创建 topic 的需求烦死

半兽人 -> 王哲 6年前

嗯,我是怀疑你有一些程序在调用这个主题,导致被反复创建。
测试环境控死有个好处,这样到生产上,主题名就是规范的。如果测试环境乱命名,到该发生产就头疼了。

王哲 -> 半兽人 6年前

当时也怀疑是有程序在往这个 topic 生产,然后就创建了完全不可能有人生产的新的 topic,结果还是删除后自动创建。
生产环境的创建是有工单的,不会出现明明不规范的问题

半兽人 -> 王哲 6年前

抱歉,这个真没遇到了。

您好,kafka集群配置了auto.create.topics.enable=false ,通过api produce 仍然会自动创建不存在的topic,请问什么原因呢

附上测试环境配置

############################# Server Basics #############################
broker.id=1
delete.topic.enable=true
auto.create.topics.enable=true
default.replication.factor=2
num.replica.fetchers=8
controlled.shutdown.enable=true
auto.leader.rebalance.enable=true

############################# Socket Server Settings #############################
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600

############################# Log Basics #############################
log.dirs=/opt/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1

############################# Log Flush Policy #############################
log.flush.interval.messages=10000
log.flush.interval.ms=1000

############################# Log Retention Policy #############################
log.retention.bytes=536870912
log.retention.hours=18
log.segment.bytes=536870912
log.retention.check.interval.ms=300000
log.cleaner.enable=true
offsets.retention.minutes=2880

############################# Zookeeper #############################
zookeeper.connect=**
zookeeper.connection.timeout.ms=6000

############################# SASL ##################################
listeners=**
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=GSSAPI
sasl.enabled.mechanisms=GSSAPI
sasl.kerberos.service.name=kafka
12345 -> 王哲 6年前

这个是因为你配置了权限,没办法删除zk上的sasl权限导致的。

王哲 -> 12345 6年前

那为何会是删除后又新建?
还有就是线上的集群配置把 auto.create.topics.enable 改为 false,就可以正常删除
如果是因为权限导致的,应该不会删除后重建吧

问题补充:一共三套 kafka 集群,其中一套在滚动重启后解决了这个问题,另外两套还是无法删除

你的答案

查看kafka相关的其他问题或提一个您自己的问题