Storm bolt没有输出

时间:2015-07-09 19:58:02

标签: apache-storm

我有一个非常简单的Storm螺栓,它从Kafka喷口输入,应该只写入标准输出。它扩展了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");

当我将拓扑提交到在本地计算机上运行的集群时,我看到构造函数的输出,但我从未看到任何来自bolt的输出。 Storm UI显示正在发送,执行和确认的元组,没有错误。

我的输出在哪里?

(这是Storm 0.9.5和Kafka 0.8.2.1。)

1 个答案:

答案 0 :(得分:1)

马蒂亚斯在评论中得到了正确答案。除非在$ STORM_HOME / conf / storm.yaml中设置了storm.log.dir属性,否则所有输出都将转到$ STORM_HOME / logs。

输出将在... / logs / worker - * .log文件中。