我有一个非常简单的风暴栓,它从Kafka喷口获取输入,只需写入标准输出。它延伸到地脚螺栓。两种相关方法是:
public void prepare(Map stormConfig,
TopologyContext context,
OutputCollector collector)
{
collector_ = collector;
logger_.info("TestEchoBolt prepared.");
System.out.println("TestEchoBolt prepared.");
}
public void execute(Tuple input)
{
logger_.info(input.getFields().toString());
System.out.println(input.getFields().toString());
collector_.ack(input);
}
它是这样连接起来的:
builder_ = new TopologyBuilder();
builder_.setSpout("kafka-spout",kafkaSpout,1);
builder_.setBolt("echo-bolt",echoBolt)
.shuffleGrouping("kafka-spout");
当我将拓扑提交到本地机器上运行的集群时,我看到了构造器的输出,但从未看到bolt的任何输出。storm ui显示元组被发出、执行和确认,没有错误。
我的输出呢?
(这是风暴0.9.5和Kafka0.8.2.1。)
1条答案
按热度按时间ajsxfq5m1#
马蒂亚斯在评论中给出了正确的答案。除非在$storm\u home/conf/storm.yaml中设置storm.log.dir属性,否则所有输出都将转到$storm\u home/logs。
输出将在…/logs/worker-*.log文件中。