分享

Storm消费topic的问题,求教

caiyifeng 发表于 2015-8-7 16:45:41 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 14 32518
我现在有两个Topology,想消费同一个 topic,请问我需要设置什么参数吗?

已有(14)人评论

跳转到指定楼层
caiyifeng 发表于 2015-8-7 17:37:23
顶一下,求教。。。。。
回复

使用道具 举报

jixianqiuxue 发表于 2015-8-7 17:52:48
楼主的应用场景是什么?
回复

使用道具 举报

caiyifeng 发表于 2015-8-7 17:56:53
应用场景就是:kafka有个topic,在storm平台上有两个Topology,都会从该topic抓取数据进行处理;
我想问问在应用上会不会有冲突,就是有个消息被Topology A 读取了之后,另外一个Topology B是否也能读取
回复

使用道具 举报

starrycheng 发表于 2015-8-7 18:13:48
caiyifeng 发表于 2015-8-7 17:56
应用场景就是:kafka有个topic,在storm平台上有两个Topology,都会从该topic抓取数据进行处理;
我想问问 ...



楼主看下这个图




应该没问题的


回复

使用道具 举报

xuanxufeng 发表于 2015-8-7 20:29:23
在Kafka,一个话题(topic)可以有N个分区。理想的情况下,在多个分区上并行读取。这也是 Kafka spout in Storm 的工作。
回复

使用道具 举报

xuanxufeng 发表于 2015-8-7 20:37:05
本帖最后由 xuanxufeng 于 2015-8-7 20:39 编辑

如果你的消费者应用程序只配置一个线程对这个topic进行读取,那么这个线程将从10个分区中进行读取。
同上,但是这次你会配置5个线程,那么每个线程都会从2个分区中进行读取。
同上,这次你会配置10个线程,那么每个线程都会负责1个分区的读取。
同上,但是这次你会配置多达14个线程。那么这14个线程中的10个将平分10个分区的读取工作,剩下的4个将会被闲置。

分区的数量将作为从Kafka读取时并行的上限
在Storm中,这可以通过TopologyBuilder#setSpout()设置Kafka spout的并行为N来实现。

回复

使用道具 举报

caiyifeng 发表于 2015-8-8 14:25:02
xuanxufeng 发表于 2015-8-7 20:37
如果你的消费者应用程序只配置一个线程对这个topic进行读取,那么这个线程将从10个分区中进行读取。
同上 ...

楼上的,你说的这些我懂,你说的是在一个Topology中,可通过设置kafka spout的个数,来并行从topic分区中取数据
而我的问题是,如果我有两个Topology的话,同一个topoic分区的数据,其中一个Topology已经读取过了,另一个Topology能否继续消费
回复

使用道具 举报

szcountryboy 发表于 2015-8-8 16:53:28
kafka group.id 这个配置的是什么

相同的,不相同的?

回复

使用道具 举报

caiyifeng 发表于 2015-8-8 22:18:25
szcountryboy 发表于 2015-8-8 16:53
kafka group.id 这个配置的是什么

相同的,不相同的?

kafka group.id 这个参数在哪配置的,能给个例子吗?我在构建Topology时好像没用到

回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条