我的 Hadoop 集群在 8 台 CentOS 6.3 机器上运行,Hadoop 版本是 CDH 4.3(从 Coludera Manager 4.6 安装)。最近我发现我的一些工作任务失败了。失败的任务将在下一次尝试中成功。但是,失败的任务太多(50000 个任务,1000 个失败),恐怕这会导致性能问题或其他潜在问题。所有失败的任务都有相同的调用堆栈:
java.lang.Throwable: Child Error
at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:250)
Caused by: java.io.IOException: Creation of symlink from /var/log/hadoop-0.20-mapreduce/userlogs/job_201311140947_0002/attempt_201311140947_0002_m_051950_0 to /hdfs7/mapred/local/userlogs/job_201311140947_0002/attempt_201311140947_0002_m_051950_0 failed.
at org.apache.hadoop.mapred.TaskLog.createTaskAttemptLogDir(TaskLog.java:126)
at org.apache.hadoop.mapred.DefaultTaskController.createLogDir(DefaultTaskController.java:72)
at org.apache.hadoop.mapred.TaskRunner.prepareLogFiles(TaskRunner.java:295)
at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:215)
我尝试在同一路径上手动构建符号链接,但没有遇到任何问题。我想知道是什么导致了这个问题。