如何使用 Apache Storm javascript 模块实现示例 bolt

How to implement an example bolt with the Apache Storm javascript module?

本文关键字:实现 bolt 模块 javascript 何使用 Apache Storm      更新时间:2023-09-26

Apache Storm有一个javascript模块/库,但我不记得看到任何使用它的例子。查看库,我不确定如何实现一个发出东西的示例 BasicBolt。我们有一个自定义的 Storm 拓扑生成器和管理器,所以我正在集成并运行一个节点.js螺栓。我能够使用风暴节点模块运行一个(https://www.npmjs.com/package/storm-node => https://github.com/STRML/storm-node,https://github.com/Lazyshot/storm-node(。但如果可能的话,我更愿意使用准系统主Apache Storm库。我在下面得到了以下一步。我能够记录消息以 storm,但无法将数据发送到拓扑中的下一个螺栓以供使用。我认为我没有正确调用 emit(( 函数。使用风暴节点,发出我想要的东西要容易得多。知道我做错了什么或错过了什么吗?

var ExampleBolt = require("./storm.js").BasicBolt;
ExampleBolt.prototype.process = function(tuple, done) {
    this.log("loggedamessage");
    var data = JSON.stringify(tuple.values);
    //originally tried something like this...
    //this.emit([data]);
    this.emit({'tuple':data,'anchorTupleId':tuple.values},function taskIdHandler(taskId){ return; });
    done();
};
var bolt = new ExampleBolt();
bolt.run();
不幸的是,我

正在使用的风暴基础设施没有报告任何关于节点螺栓的有用运行时错误,以便我找出问题所在。

https://github.com/apache/storm/blob/master/examples/storm-starter/multilang/resources/splitsentence.js

是一个测试拆分句子螺栓,用作我们测试的一部分。 它应该给你一个很好的起点。