我正在尝试将MongoDB和Storm-Kafka集成,Kafka Producer从MongoDB生成数据,但无法从Consumer端获取所有记录。它只消耗100万条记录中的500-600条记录。
日志文件中没有错误,拓扑仍然有效,但未处理其他记录。
Kafka版本:0.10。* Storm版本:1.2.1
我是否需要在Consumer中添加任何配置?
conf.put(Config.TOPOLOGY_BACKPRESSURE_ENABLE, false);
conf.put(Config.TOPOLOGY_MAX_SPOUT_PENDING, 2048);
conf.put(Config.TOPOLOGY_EXECUTOR_RECEIVE_BUFFER_SIZE, 16384);
conf.put(Config.TOPOLOGY_EXECUTOR_SEND_BUFFER_SIZE, 16384);
BrokerHosts hosts = new ZkHosts(zookeeperUrl);
SpoutConfig spoutConfig = new SpoutConfig(hosts, topic, zkRoot, consumerGroupId);
spoutConfig.scheme = new KeyValueSchemeAsMultiScheme(new StringKeyValueScheme());
spoutConfig.fetchSizeBytes = 25000000;
if (startFromBeginning) {
spoutConfig.startOffsetTime = OffsetRequest.EarliestTime();
} else {
spoutConfig.startOffsetTime = OffsetRequest.LatestTime();
}
return new KafkaSpout(spoutConfig);
}
我希望Kafka壶嘴应读取生产者生产的kafka主题中的所有记录。