記錄使用nutch執行inject的時候遇到的第一個坑 java.lang.NullPointerException

$ ./nutch inject urls
InjectorJob: starting at 2016-11-08 11:20:12
InjectorJob: Injecting urlDir: urls
InjectorJob: Using class org.apache.gora.mongodb.store.MongoStore as the Gora st      orage class.
InjectorJob: java.lang.NullPointerException
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1010)
        at org.apache.hadoop.util.Shell.runCommand(Shell.java:482)
        at org.apache.hadoop.util.Shell.run(Shell.java:455)
        at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:      702)
        at org.apache.hadoop.util.Shell.execCommand(Shell.java:791)
        at org.apache.hadoop.util.Shell.execCommand(Shell.java:774)
        at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSys      tem.java:646)
        at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.jav      a:434)
        at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:28      1)
        at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmi      ssionFiles.java:125)
        at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitt      er.java:348)
        at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1285)
        at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1282)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:415)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInforma      tion.java:1614)
        at org.apache.hadoop.mapreduce.Job.submit(Job.java:1282)
        at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1303)
        at org.apache.nutch.util.NutchJob.waitForCompletion(NutchJob.java:115)
        at org.apache.nutch.crawl.InjectorJob.run(InjectorJob.java:231)
        at org.apache.nutch.crawl.InjectorJob.inject(InjectorJob.java:252)
        at org.apache.nutch.crawl.InjectorJob.run(InjectorJob.java:275)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at org.apache.nutch.crawl.InjectorJob.main(InjectorJob.java:284)

緣由沒有安裝hadoop.java

源碼參見:hadoop-common-{version}.jar , Shell.java line 370 : winUtilsPath = getQualifiedBinPath("winutils.exe"); 調用鏈中:函數checkHadoopHome() 找不到hadoop安裝目錄引發的報NPEmongodb

相關文章
相關標籤/搜索