【发布时间】:2015-07-15 02:32:02
【问题描述】:
我正在尝试将 kafka-data 置于 hdfs 和 hive 中。我正在与 hortonworks 合作。因此,我有以下结构,正如在许多教程 (http://henning.kropponline.de/2015/01/24/hive-streaming-with-storm/) 中看到的(稍作修改):
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("kafka-spout", kafkaSpout);
builder.setBolt("hdfs-bolt", hdfsBolt).globalGrouping("kafka-spout");
builder.setBolt("parse-bolt", new ParseBolt()).globalGrouping("kafka-spout");
builder.setBolt("hive-bolt", hiveBolt).globalGrouping("parse-bolt");
我将 kafka-spout 数据直接发送到 hdfs-bolt,这在我只使用 hdfs-bolt 时有效。当我添加 parse-bolt 来解析 kafka-data 并将其发送到 hive-bolt 时,整个系统变得疯狂。即使我只是通过 kafka 发送一条消息,这条消息也会被 kafka-spout 无限次复制并写入 hdfs 无限次。
如果 parse-bolt 出现错误,hdfs-bolt 不应该还能正常工作吗?我是这个话题的新手,有人能看到一个简单的初学者错误吗?我很感激任何建议。
【问题讨论】:
标签: hadoop hive apache-kafka apache-storm hortonworks-data-platform