Windows中的Nutch:无法设置路径的权限

前端之家收集整理的这篇文章主要介绍了Windows中的Nutch:无法设置路径的权限前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在 Windows机器上使用Nutch使用Solr,我收到以下错误
Exception in thread "main" java.io.IOException: Failed to set permissions of path: c:\temp\mapred\staging\admin-1654213299\.staging to 0700

从我学到的很多线程中,nutch似乎使用了hadoop做了一些chmod魔法,它可以在unix机器上运行,但不能在windows上使用.

这个问题现在存在一年多了.我找到了一个线程,其中显示代码行并提出了修复.我真的只有一个有这个问题吗?是否所有其他人都在创建自定义构建以便在Windows上运行nutch?或者是否有一些选项可以禁用hadoop或其他解决方案?也许是另一个爬行器而不是nutch?

非常感谢.
鲍里斯

这是我正在做的事情的堆栈跟踪….

admin@WIN-G1BPD00JH42 /cygdrive/c/solr/apache-nutch-1.6
    $bin/nutch crawl urls -dir crawl -depth 3 -topN 5 -solr http://localhost:8080/solr-4.1.0
    cygpath: can't convert empty path
    crawl started in: crawl
    rootUrlDir = urls
    threads = 10
    depth = 3
    solrUrl=http://localhost:8080/solr-4.1.0
    topN = 5
    Injector: starting at 2013-03-03 17:43:15
    Injector: crawlDb: crawl/crawldb
    Injector: urlDir: urls
    Injector: Converting injected urls to crawl db entries.
    Exception in thread "main" java.io.IOException: Failed to set permissions of path:         c:\temp\mapred\staging\admin-1654213299\.staging to 0700
        at org.apache.hadoop.fs.FileUtil.checkReturnValue(FileUtil.java:689)
        at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:662)
        at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:509)
        at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:344)
        at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:189)
        at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:116)
        at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:856)
        at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:850)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Unknown Source)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
        at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:850)
        at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:824)
        at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1261)
        at org.apache.nutch.crawl.Injector.inject(Injector.java:281)
        at org.apache.nutch.crawl.Crawl.run(Crawl.java:127)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
        at org.apache.nutch.crawl.Crawl.main(Crawl.java:55)
我需要一段时间才能完成这项工作,但这里的解决方案适用于nutch 1.7.

>从MVN存储库下载Hadoop Core 0.20.2
>将(nutch-directory)/lib/hadoop-core-1.2.0.jar替换为下载的文件,并使用相同的名称重命名.

那应该是它.

说明

此问题是由hadoop引起的,因为它假设您在unix上运行并遵守文件权限规则.该问题在2011年得到了解决,但是nutch没有更新他们使用的hadoop版本.相关修正是070​​01和here

原文链接:https://www.f2er.com/windows/365267.html

猜你在找的Windows相关文章