【问题标题】:Nutch Crawler Error: Hadoop Path PermissionsNutch 爬虫错误:Hadoop 路径权限
【发布时间】:2015-05-04 18:31:17
【问题描述】:

我正在尝试使用 MongoDB (v2.6) 运行 Apache Nutch (v2.3)。我正在关注this 教程来帮助我进行设置。我已经创建了我的种子列表,并且我的 gora.properties 和 nutch-site.xml 设置得很好。但是,在运行 bin/nutch inject ../urls/test/ 命令时,我不断收到 java.io.IOException 错误:

$ bin/nutch inject ./../../urls/test/
InjectorJob: starting at 2015-05-04 13:53:29
InjectorJob: Injecting urlDir: ../../urls/test
InjectorJob: Using class org.apache.gora.mongodb.store.MongoStore as the Gora storage class.
InjectorJob: java.io.IOException: Failed to set permissions of path: \tmp\hadoop-TColletti\mapred\staging\TColletti1801159571\.staging to 0700
        at org.apache.hadoop.fs.FileUtil.checkReturnValue(FileUtil.java:691)
        at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:664)
        at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:514)
        at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:349)
        at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:193)
        at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:126)
        at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:942)
        at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:936)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Unknown Source)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
        at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:936)
        at org.apache.hadoop.mapreduce.Job.submit(Job.java:550)
        at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:580)
        at org.apache.nutch.util.NutchJob.waitForCompletion(NutchJob.java:50)
        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:65)
        at org.apache.nutch.crawl.InjectorJob.main(InjectorJob.java:284)

我在某些地方读到这可能是由于没有正确版本的 MongoDb 或 Gora 错误造成的。似乎对 hadoop 临时目录的权限有问题(我现在没有使用)。我查看了this S/O 文章,但在我的 2.3 版 Nutch 中找不到 core-site.xml 文件。

有人可以帮我最终运行这个命令吗?

【问题讨论】:

    标签: java apache mongodb hadoop web-crawler


    【解决方案1】:

    我不确定这是否是官方答案,但它对我有用。我发现了另一个 S/O 帖子here。一般问题是一样的。其他地方一直提到修改我没有的core-site.xml。但是,在其中一个答案中,它提到了要下载的补丁和需要添加到我的 runtime/local/conf 目录中的 nutch-site.xml 文件的几行。试了一下,它解决了我的问题。似乎补丁只是忽略了错误并绕过了它们。对此可能有更好的解决方案,但就目前而言,它奏效了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-01
      • 2011-04-02
      • 1970-01-01
      • 1970-01-01
      • 2018-06-07
      相关资源
      最近更新 更多