nullpointerexception

iszxjhcz  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(337)

我被一个角色打动了
我试图执行一个示例代码https://github.com/stormprocessor/storm-state/blob/master/src/jvm/storm/state/example/mapexample.java github.com/stormprocessor/storm-state的代码。它使用hdfs。
但是它给出了一个nullpointerexception作为

java.lang.NullPointerException
    at storm.state.hdfs.HDFSStore.getMeta(HDFSStore.java:37)
    at storm.state.PartitionedState.getState(PartitionedState.java:11)
    at storm.state.bolt.StatefulBoltExecutor.prepare(StatefulBoltExecutor.java:36)
    at backtype.storm.daemon.executor$fn__4052$fn__4061.invoke(executor.clj:610)
    at backtype.storm.util$async_loop$fn__465.invoke(util.clj:375)
    at clojure.lang.AFn.run(AFn.java:24)

在上述链接的代码我已经改变

builder.setBolt("counter", new StatefulBoltExecutor(new WordCount(), new HDFSStore("hdfs://ip-10-202-7-99.ec2.internal:8020/tmp/data")), 8)
            .fieldsGrouping("spout", new Fields("word"));

builder.setBolt("counter", new StatefulBoltExecutor(new WordCount(), new HDFSStore("hdfs://localhost:9000/home/mohit/hadoop/tmp/dfs/data")), 8)

这是我的hdfs路径。
错误日志中的代码出现在
https://github.com/stormprocessor/storm-state/blob/master/src/jvm/storm/state
很抱歉链接太少,因为我是一个学习型学生,声誉很差,请帮忙,提前谢谢!!

xhv8bpkk

xhv8bpkk1#

我认为您得到的错误是因为您的namenode没有监听您在给定代码中配置的端口9000。尝试在core-site.xml文件中验证此属性fs.default.name的值,并检查namenode正在使用哪个端口。我想可能是8020。如果是说8020,那么您的代码将如下所示。
builder.setbolt(“counter”,new statefulboltexecutor(new wordcount(),new hdfsstore(”hdfs://localhost:8020/home/mohit/hadoop/tmp/dfs/data“)),8)
我希望这能解决你的问题

相关问题