kafka中topic相关命令
坑
1、在windows里安装的kafka相关命令一定要是bin\windows目录下
// 正确示例
.\bin\windows\kafka-topics.bat --bootstrap-server localhost:9092 --list
// 错误示例
.\bin\kafka-topics.sh --bootstrap-server localhost:9092 --list
2、kafka3.0和低版本的命令不一致,不可混用
// 3.0版本命令
.\bin\windows\kafka-topics.bat --bootstrap-server localhost:9092 --list
// 低版本命令
.\bin\windows\kafka-topics.bat --zookeeper 127.0.0.1:2181 --list
相关报错信息
Topic常用命令
1、查看当前所有的topic
.\bin\windows\kafka-topics.bat --bootstrap-server localhost:9092 --list
2、删除某个topic
// 删除名为Demo.today的topic
.\bin\windows\kafka-topics.bat --bootstrap-server localhost:9092 --delete --topic Demo.today
PS
kafka默认是会自动去创建topic;
@Test
public void testDemo() throws InterruptedException {
kafkaTemplate.send("Demo.today", "this is my two demo");
//休眠5秒,为了使监听器有足够的时间监听到topic的数据
Thread.sleep(5000);
}
若要关闭自动创建topic,只要在server.properties文件中添加如下代码
auto.create.topics.enable=false
后续如需topic,则必须手动创建
@Configuration
public class KafkaInitialConfiguration {
@Bean
public NewTopic initialTopic() {
// 分区数为8,副本为1;ps:若要修改的话分区数只能增加不能减少
return new NewTopic("Demo.today", 8, (short) 1);
}
}
强调
Topic宁愿空闲,也不要去删除,因为根本删除不了,还导致程序奔溃(最佳实践一个集群上有2W+ Topic无压力)
参考文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类