笔者在某次实践过程中,搭建了一个Flink监控程序,监控wikipedia编辑,对编辑者编辑的字节数进行实时计算,最终把数据sink到kafka的消费者中展示出来,监控程序本身比较简单,只要在程序中指定好WikipediaEditsSource源并配置好sink与kafka关联就可以,类似一个略微复杂版的wordcount,按照网络上的教程,在实践的最后,开启zookeeper服务和kafka服务,接着用
这条命令创建一个名为wiki-result的topic,然后运行监控程序,最后用
启动消费者,就可以在终端窗口里观察到源源不断的wikipedia数据
当笔者第二天再次跑这个监控程序时,发现上次执行的命令
是生产者命令,然而此例中的生产者实际上是Fink监控程序,那么原作者为何使用kafka-console-producer命令去创建topic而不是用kafka-topics命令呢?
命令是生产者指定topic,是否自动创建了topic呢?
笔者尝试把现有的topic:wiki-result删掉,然后重新创建topic,提示如下,并没有真正删除,为此笔者去查了下相关资料,将topic创建与删除的原理彻底弄懂了。
在 Kafka 中,Topic 是一个存储消息的逻辑概念,不同的topic在物理上来说是分开存储的,可以有多个producer向他push消息,也可以有多个consume