对主题运行以下命令 my.topic.test
对两者进行了描述 my.topic.test
以及 my.topic_test
(注意名称中的点和下划线的区别)主题。
这是期望的行为还是bug(我倾向于bug)?
kafka-topics --describe --zookeeper my_zookeeper_ip:2181 --topic my.topic.test
Topic:my.topic.test PartitionCount:4 ReplicationFactor:1 Configs:
Topic: my.topic.test Partition: 0 Leader: 2 Replicas: 2 Isr: 2
Topic: my.topic.test Partition: 1 Leader: 3 Replicas: 3 Isr: 3
Topic: my.topic.test Partition: 2 Leader: 4 Replicas: 4 Isr: 4
Topic: my.topic.test Partition: 3 Leader: 0 Replicas: 0 Isr: 0
Topic:my.topic_test PartitionCount:5 ReplicationFactor:4 Configs:
Topic: my.topic_test Partition: 0 Leader: 4 Replicas: 3,4,5,1 Isr: 4,1,3
Topic: my.topic_test Partition: 1 Leader: 4 Replicas: 1,3,4 Isr: 4,1,3
Topic: my.topic_test Partition: 2 Leader: 4 Replicas: 4,2,5,3 Isr: 4,3,2
Topic: my.topic_test Partition: 3 Leader: 4 Replicas: 5,1,4 Isr: 4,1
Topic: my.topic_test Partition: 4 Leader: 1 Replicas: 5,1,3,0 Isr: 1,0,3
2条答案
按热度按时间hiz5n14c1#
什么时候跑步
--describe
,kafka-topics
接受正则表达式作为--topic
争论。在正则表达式中,.
匹配任何字符,以便看到预期的行为。也就是说,kafka topics在创建带有点或下划线的主题时会打印一条警告,并且应该阻止创建两个带有此类名称的主题,因为度量会发生冲突:
你是如何创建主题的?
rdlzhqv92#
首先,这不是虫子。根据主题部分《Kafka源》中Kafka-10.2的源代码,
主题名称的最大长度可以是249个单词,并且它的处理点(.)和下划线(\)是相等的。这就是主题名称
my.topic.test,my.topic\u test,my\u topic.test是相同的。您应该使用(\下划线或点(.)但不是两者都有。
为了获得最佳实践,我建议您使用连字符(-),就像我喜欢使用的那样。