使用java空指针运行hadoop map reduce作业时引发异常

wooyq4lh  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(376)

提前谢谢。。。
我正在运行hadoop版本0.20.0和hbase版本0.94。我有一个聚合逻辑,将运行每晚12点使用调度。我们正处于无法升级hbase和hadoop的阶段。在运行mapreduce作业时,它引发如下异常:,

java.lang.NullPointerException
        at org.apache.hadoop.conf.Configuration.getLocalPath(Configuration.java:877)
        at org.apache.hadoop.mapred.JobConf.getLocalPath(JobConf.java:280)
        at org.apache.hadoop.mapred.LocalJobRunner$Job.<init>(LocalJobRunner.java:89)
        at org.apache.hadoop.mapred.LocalJobRunner.submitJob(LocalJobRunner.java:373)
        at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:800)
        at org.apache.hadoop.mapreduce.Job.submit(Job.java:432)
        at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:447)

在独立运行时,它工作正常,没有抛出异常。
请帮助我们。。。

jqjz2hbq

jqjz2hbq1#

通过查看getlocalpath的定义:http://grepcode.com/file/repo1.maven.org/maven2/com.google.code.maven-play-plugin.org.apache.hadoop/hadoop-core/0.20.2-with-200-826/org/apache/hadoop/conf/configuration.java#configuration.getlocalpath%28java.lang.string%2cjava.lang.string%29
似乎,如果我有正确的文件版本 String dirsProp 不包含有关目录的信息。我猜字符串[]dirs= getStrings(dirsProp); 正在返回null。
这里的猜测是,hadoop中缺少一个关于目录的配置。

相关问题