只有螺栓可以接收刻度元组。喷注只能发出元组。
我假设您正在尝试从spout中执行“read”,以便发出一个新的元组。
例如,若要Hibernate50毫秒,请读取:
@Override
public void nextTuple() {
try {
String message = _mqClient.getMessage();
if (message != null) {
_collector.emit(new Values(message));
}
// sleep for 50 milliseconds
Utils.sleep(50);
} catch (Exception e) {
_collector.reportError(e);
LOG.error("MQ spout error {}", e);
}
}
我开发了storm拓扑结构,以从hortonworks上的kafka代理接收JSONArray数据, 我不知道为什么我的kafkaSpout不使用HDP中来自Kafka Brokers的消息,但是Storm拓扑已成功提交,但当我可视化拓扑时:0%的数据已被消耗!! 拓扑可视化 这是我的计划类: 和属性文件: 当我使用另一个消费者时,存储在Kafka Brokers中的数据如下: 所以我的问题是为什
读了这篇文章后,我试着使用Google Guice:http://tech.puredanger.com/2007/07/03/pattern-hate-singleton/ 但有一点我不明白:当您使用Guice的@Singleton Anotion时,注入注入相同的实例,但只针对一个注入。 如果我在其他地方创建了另一个注射器,@Singletion不起作用(如留档中所述)。 因此,我必须在代码中
刚开始使用Storm,只是了解喷口的概念,以及如何在喷口中实现并行。
我使用storm0.9.4和storm-kafka:0.9.0-wip16a-scala292作为从kafka0.7读取的依赖项。 我们的Kafka保留政策是7天。 我从经纪人的最新偏移量开始读取。
这里可能发生了同样的事情:错误backtype.storm.util-Async循环死亡!BufferUnderFlowException:null,但我将添加一个完整的堆栈跟踪和一些更多的上下文。 Storm版本-9.3 Storm-Kafka版本-9.3 Kafka版本-0.8.2-beta 堆栈跟踪: Spout代码(注意,出于调试目的,我使用的是一个静态定义的分区映射,只有一个代理):
这是一个关于Storm的max spout pending如何工作的问题。我目前有一个spout读取一个文件,并为文件中的每一行发出一个元组(我知道Storm不是处理文件的最佳解决方案,但对于这个问题我没有选择)。 我将设置为50K,以限制进入要处理的拓扑的元组数量。然而,我看到这个数字在拓扑中没有任何影响。我每次都看到一个文件中的所有记录被发出。我猜测这可能是由于方法中的循环所致,该方法发出文件