ticktuple不起作用

w8rqjzmb  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(384)

我有一个storm拓扑,其中有一个bolt,它从数据库中读取数据,并以批处理的方式放入kafka队列。它在大约5秒内获得超过2万行。但是bolt不接收tick元组。最后我收到堆空间错误。所以我将计数限制为10k,以便将消息推送到kafka队列。当从db读取完成后,我开始得到tick tuple消息。
喷口计算下一个要从数据库获取的数据,并将其提供给bolt、表名和时间范围。 protected static boolean isTickTuple(Tuple tuple) { return tuple.getSourceComponent().equals(Constants.SYSTEM_COMPONENT_ID) && tuple.getSourceStreamId().equals(Constants.SYSTEM_TICK_STREAM_ID); } ```
@Override
public Map<String, Object> getComponentConfiguration() {
Config conf = new Config();
int tickFrequencyInSeconds = 5;
conf.put(Config.TOPOLOGY_TICK_TUPLE_FREQ_SECS, tickFrequencyInSeconds);
return conf;
}`

storm的版本是0.9.3
blmhpbnm

blmhpbnm1#

调用submitter.submittopology时,必须将拓扑配置作为参数之一传递。
很可能您在其他地方配置了tick tuple frequency,但没有将其放到conf中,而conf将传递给topology。

相关问题