1

我不小心删除了 hadoop.tmp.dir,在我的例子中是 /tmp/{user.name}/*。现在每次我从 CLI 运行 hive 查询时,mapred 作业都会在任务尝试中失败,如下所示:

Error initializing attempt_201202231712_1266_m_000009_0:
org.apache.hadoop.util.DiskChecker$DiskErrorException: Could not find any valid local     directory for ttprivate/taskTracker/hdfs/jobcache/job_201202231712_1266/jobToken
at org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.getLocalPathForWrite(LocalDirAllocator.java:376)
at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:146)
at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:127)
at org.apache.hadoop.mapred.TaskTracker.localizeJobTokenFile(TaskTracker.java:4432)
at org.apache.hadoop.mapred.TaskTracker.initializeJob(TaskTracker.java:1301)
at org.apache.hadoop.mapred.TaskTracker.localizeJob(TaskTracker.java:1242)
at org.apache.hadoop.mapred.TaskTracker.startNewTask(TaskTracker.java:2541)
at org.apache.hadoop.mapred.TaskTracker$TaskLauncher.run(TaskTracker.java:2505)

这是一个测试环境,我不关心数据。如何让系统恢复正常?

4

2 回答 2

1

您应该调用 stop-all.sh 文件,重新创建文件并在格式化 tmp 文件后启动

于 2012-04-04T16:27:31.147 回答
1

您可以简单地重新创建目录并将文件的所有者更改为 mapred。chown mapred:mapred <your dir>

于 2012-04-05T15:45:58.373 回答