我有一个非常简单的Storm bolt,它从Kafka spout中获取输入,应该只写入标准输出。它扩展了BaseRichBolt。两种相关的方法是:
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");当我将拓扑提交到在本地机器上运行的集群时,我会看到构造器的输出,但我从未看到螺栓的任何输出。Storm UI显示发出、执行和确认的元组,没有错误。
我的输出在哪里?
(这是Storm 0.9.5和Kafka 0.8.2.1。)
发布于 2015-07-10 23:09:45
Matthias在评论中有正确的答案。除非在$STORM_HOME/conf/storm.yaml中设置了storm.log.dir属性,否则所有输出都会转到$STORM_HOME/logs。
输出将位于.../logs/worker-*.log文件中。
https://stackoverflow.com/questions/31327062
复制相似问题