복붙노트

[HADOOP] Hadoop wordcount 예제를 실행할 때 작업 토큰 파일을 찾을 수 없습니다.

HADOOP

Hadoop wordcount 예제를 실행할 때 작업 토큰 파일을 찾을 수 없습니다.

방금 작은 클러스터에 Hadoop을 설치했습니다. 이제 wordcount 예제를 실행하려고하는데이 오류가 발생합니다.

****hdfs://localhost:54310/user/myname/test11
12/04/24 13:26:45 INFO input.FileInputFormat: Total input paths to process : 1
12/04/24 13:26:45 INFO mapred.JobClient: Running job: job_201204241257_0003
12/04/24 13:26:46 INFO mapred.JobClient:  map 0% reduce 0%
12/04/24 13:26:50 INFO mapred.JobClient: Task Id : attempt_201204241257_0003_m_000002_0, Status : FAILED
Error initializing attempt_201204241257_0003_m_000002_0:
java.io.IOException: Exception reading file:/tmp/mapred/local/ttprivate/taskTracker/myname/jobcache/job_201204241257_0003/jobToken
    at org.apache.hadoop.security.Credentials.readTokenStorageFile(Credentials.java:135)
    at org.apache.hadoop.mapreduce.security.TokenCache.loadTokens(TokenCache.java:165)
    at org.apache.hadoop.mapred.TaskTracker.initializeJob(TaskTracker.java:1179)
    at org.apache.hadoop.mapred.TaskTracker.localizeJob(TaskTracker.java:1116)
    at org.apache.hadoop.mapred.TaskTracker$5.run(TaskTracker.java:2404)
    at java.lang.Thread.run(Thread.java:722)
Caused by: java.io.FileNotFoundException: File file:/tmp/mapred/local/ttprivate/taskTracker/myname/jobcache/job_201204241257_0003/jobToken does not exist.
    at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:397)
    at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:251)
    at org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSInputChecker.<init>(ChecksumFileSystem.java:125)
    at org.apache.hadoop.fs.ChecksumFileSystem.open(ChecksumFileSystem.java:283)
    at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:427)
    at org.apache.hadoop.security.Credentials.readTokenStorageFile(Credentials.java:129)
    ... 5 more

어떤 도움?

해결법

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

    1.방금 Hadoop 디렉토리에서 재귀 적으로 사용 권한을 설정해도이 같은 오류가 발생했습니다. 여기 Mohyt의 권고에 따라, core-site.xml (hadoop / conf / 디렉토리에 있음)을 수정하여 temp 디렉토리 (hadoop.tmp.dir을 XML로 지정한)를 제거합니다. Hadoop이 자체 임시 디렉토리를 생성하도록 허용 한 후에 오류없이 실행됩니다.

    방금 Hadoop 디렉토리에서 재귀 적으로 사용 권한을 설정해도이 같은 오류가 발생했습니다. 여기 Mohyt의 권고에 따라, core-site.xml (hadoop / conf / 디렉토리에 있음)을 수정하여 temp 디렉토리 (hadoop.tmp.dir을 XML로 지정한)를 제거합니다. Hadoop이 자체 임시 디렉토리를 생성하도록 허용 한 후에 오류없이 실행됩니다.

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

    2.자신의 임시 디렉터리를 만드는 것이 좋습니다.

    자신의 임시 디렉터리를 만드는 것이 좋습니다.

    <configuration>
     <property>
     <name>hadoop.tmp.dir</name>
     <value>/home/unmesha/mytmpfolder/tmp</value>
     <description>A base for other temporary directories.</description>
     </property>
    .....
    

    권한을 부여하십시오.

    unmesha@unmesha-virtual-machine:~$chmod 750 /mytmpfolder/tmp
    

    core-site.xml 설정을 확인하십시오.

  3. from https://stackoverflow.com/questions/10303169/job-token-file-not-found-when-running-hadoop-wordcount-example by cc-by-sa and MIT license