首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >错误backtype.storm.util -异步循环死亡

错误backtype.storm.util -异步循环死亡
EN

Stack Overflow用户
提问于 2013-12-16 20:28:56
回答 2查看 5.5K关注 0票数 0

我是个风暴的新手。这是从风暴(书)开始的一个例子。单词计数器的例子。我在本地使用storm,当我使用maven运行这个示例时,我得到了这个错误。Maven命令使用:

代码语言:javascript
运行
复制
[knk@kinock Storm-Starter]$mvn exec:java -Dexec.mainClass="TopologyMain" -Dexec.args="src/main/resources/words.txt"

这是错误

代码语言:javascript
运行
复制
java.lang.NullPointerException: null
at spouts.WordReader.open(WordReader.java:62) ~[classes/:na]
at backtype.storm.daemon.executor$fn__3430$fn__3445.invoke(executor.clj:504) ~[storm-core-0.9.0.1.jar:na]
at backtype.storm.util$async_loop$fn__444.invoke(util.clj:401) ~[storm-core-0.9.0.1.jar:na]
at clojure.lang.AFn.run(AFn.java:24) [clojure-1.4.0.jar:na]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
5608 [Thread-22-word-reader] ERROR backtype.storm.daemon.executor - 
java.lang.NullPointerException: null
at spouts.WordReader.open(WordReader.java:62) ~[classes/:na]
at backtype.storm.daemon.executor$fn__3430$fn__3445.invoke(executor.clj:504) ~  [storm-core-0.9.0.1.jar:na]
at backtype.storm.util$async_loop$fn__444.invoke(util.clj:401) ~[storm-core- 0.9.0.1.jar:na]
at clojure.lang.AFn.run(AFn.java:24) [clojure-1.4.0.jar:na]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
5610 [Thread-6] INFO  backtype.storm.daemon.executor - Loading executor __system:[-1 -1]
5618 [Thread-6] INFO  backtype.storm.daemon.task - Emitting: __system __system  ["startup"]
5619 [Thread-6] INFO  backtype.storm.daemon.executor - Loaded executor tasks __system: [-1 -1]
5624 [Thread-6] INFO  backtype.storm.daemon.executor - Finished loading executor __system:[-1 -1]
5629 [Thread-24-__system] INFO  backtype.storm.daemon.executor - Preparing bolt __system:(-1)
5638 [Thread-24-__system] INFO  backtype.storm.daemon.executor - Prepared bolt __system:(-1)
5668 [Thread-6] INFO  backtype.storm.daemon.executor - Loading executor __acker:[1 1]
5670 [Thread-6] INFO  backtype.storm.daemon.task - Emitting: __acker __system ["startup"]
5671 [Thread-6] INFO  backtype.storm.daemon.executor - Loaded executor tasks __acker:[1 1]
5672 [Thread-22-word-reader] INFO  backtype.storm.util - Halting process: ("Worker died")
5678 [Thread-6] INFO  backtype.storm.daemon.executor - Timeouts disabled for executor __acker:[1 1]
5679 [Thread-6] INFO  backtype.storm.daemon.executor - Finished loading executor __acker: [1 1]

这是引发异常的代码块..。第62行标记为注释.

代码语言:javascript
运行
复制
public void open(Map conf, TopologyContext context, SpoutOutputCollector collector) {
        try {

            //this.collector = collector;
            this.context = context;
            this.fileReader = new  FileReader(conf.get("wordsFile").toString());//exception is raised here. 62nd line
        } catch (FileNotFoundException e){
            throw new RuntimeException("Error reading file ["+conf.get("wordFile")+"]");
            }
        this.collector = collector;
    }

提前谢谢..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-21 00:59:33

knk@kinock Storm-Starter$mvn exec:java -Dexec.mainClass="TopologyMain“-Dexec.args="src/main/resources/words.txt”

在上面的命令中,应该给出文件的完整路径,否则java找不到路径。

票数 1
EN

Stack Overflow用户

发布于 2013-12-17 08:55:57

最可能的原因可能是它无法从wordsFile对象读取Config条目。如果你有类似的事情

FileReader(conf.get("wordsFile").toString());

然后如果你使用conf.put("SomeOtherWordsFile", ..)

然后,通过搜索实际上不存在的键spout's,试图找到形成conf对象的文件路径位置(在wordsFile打开方法中)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20620265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档