복붙노트

[HADOOP] Windows의 Nutch : 경로의 사용 권한을 설정하지 못했습니다.

HADOOP

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는 UNIX 시스템에서 작동하는 chmod 매직을 사용하지만 Windows에서는 작동하지 않는 것으로 보입니다.

이 문제는 1 년 넘게 존재합니다. 코드 줄이 표시되고 수정 제안이있는 스레드를 찾았습니다. 나는 정말로이 문제가있는 사람인가? 다른 모든 사람들이 Windows에서 nutch를 실행하기 위해 사용자 정의 빌드를 작성합니까? 또는 hadoop 항목이나 다른 솔루션을 비활성화 할 수있는 옵션이 있습니까? 너치보다 다른 크롤러일까요?

고마워. 보리스

여기 내가하는 일의 스택 추적이 있습니다 ....

    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)

해결법

  1. ==============================

    1.이 작업을하는 데는 시간이 걸렸지 만 nutch 1.7에서 작동하는 솔루션이 있습니다.

    이 작업을하는 데는 시간이 걸렸지 만 nutch 1.7에서 작동하는 솔루션이 있습니다.

    그게 틀림 없어.

    설명

    이 문제는 유닉스에서 실행 중이며 파일 권한 규칙을 준수한다고 가정하기 때문에 hadoop이 원인입니다. 문제는 2011 년에 실제로 해결되었지만 nutch는 그들이 사용하는 hadoop 버전을 업데이트하지 않았습니다. 관련 수정 사항은 여기와 여기 있습니다.

  2. ==============================

    2.우리도 Nutch를 사용하고 있지만 Windows에서 실행하는 것은 지원되지 않습니다. Cygwin에서 우리 1.4 버전은 mapreduce와 비슷한 문제가있었습니다.

    우리도 Nutch를 사용하고 있지만 Windows에서 실행하는 것은 지원되지 않습니다. Cygwin에서 우리 1.4 버전은 mapreduce와 비슷한 문제가있었습니다.

    우분투에서 vm (가상 박스)을 사용하고 Windows와 Linux간에 공유 디렉토리를 사용하여 Windows에서 개발 및 구축하고 Linux에서 Nutch (크롤링)를 실행할 수 있습니다.

  3. ==============================

    3.Nutch는 Windows에서 실행 중이며 사용자 정의 빌드는 수행하지 않습니다. 내가 그것을 사용하지 않았기 때문에 그것은 긴 시간이다. 하지만 잠시 시간을 내서 잡으려고 한 것은 필요한 권한을 얻기 위해 cygwin을 Windows 관리자로 실행해야한다는 것입니다.

    Nutch는 Windows에서 실행 중이며 사용자 정의 빌드는 수행하지 않습니다. 내가 그것을 사용하지 않았기 때문에 그것은 긴 시간이다. 하지만 잠시 시간을 내서 잡으려고 한 것은 필요한 권한을 얻기 위해 cygwin을 Windows 관리자로 실행해야한다는 것입니다.

  4. ==============================

    4.나는 다른 접근법을 제안한다. 이 링크를 확인하십시오. Windows에서 오류를 삼키는 방법을 설명하고 Hadoop을 다운 그레이드하거나 Nutch를 재구성 할 필요가 없습니다. Nutch 2.1에서 테스트했지만 다른 버전에도 적용됩니다. 또한 크롤러 및 인덱서를 시작하기위한 간단한 .bat를 만들었지 만 Nutch 2.x를위한 것이므로 Nutch 1.x에는 적용되지 않을 수 있습니다.

    나는 다른 접근법을 제안한다. 이 링크를 확인하십시오. Windows에서 오류를 삼키는 방법을 설명하고 Hadoop을 다운 그레이드하거나 Nutch를 재구성 할 필요가 없습니다. Nutch 2.1에서 테스트했지만 다른 버전에도 적용됩니다. 또한 크롤러 및 인덱서를 시작하기위한 간단한 .bat를 만들었지 만 Nutch 2.x를위한 것이므로 Nutch 1.x에는 적용되지 않을 수 있습니다.

    후세를 위 해이 접근법은 다음을 수반합니다 :

  5. ==============================

    5.프로젝트 종속성 hadoop-core 및 hadoop-tools를 변경해야합니다. 내가 0.20.2 버전을 사용하고 잘 작동합니다.

    프로젝트 종속성 hadoop-core 및 hadoop-tools를 변경해야합니다. 내가 0.20.2 버전을 사용하고 잘 작동합니다.

  6. from https://stackoverflow.com/questions/15188050/nutch-in-windows-failed-to-set-permissions-of-path by cc-by-sa and MIT license