【问题标题】:Job Token file not found when running Hadoop wordcount example运行 Hadoop wordcount 示例时找不到作业令牌文件
【发布时间】:2012-05-05 09:36:10
【问题描述】:

我刚刚在一个小型集群上成功安装了 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

有什么帮助吗?

【问题讨论】:

  • 路径/tmp/mapred/local是否存在,运行hadoop服务的用户是否有权限写入该目录?
  • IIRC 你必须 chown 该目录或成为具有这些权限的组中的用户。否则你会得到 fnf

标签: hadoop cluster-computing word-count


【解决方案1】:

最好创建自己的临时目录。

<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

check this 用于 core-site.xml 配置

【讨论】:

    【解决方案2】:

    我刚刚解决了同样的错误——在我的 Hadoop 目录上递归设置权限并没有帮助。根据Mohyt 的推荐here,我修改了core-site.xml(在hadoop/conf/ 目录中)以删除我指定临时目录的位置(XML 中的hadoop.tmp.dir)。在允许 Hadoop 创建自己的临时目录后,我运行无错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2015-04-02
      • 1970-01-01
      • 2014-09-08
      • 2015-02-09
      相关资源
      最近更新 更多