当启动集群的同一用户运行时,Pig MR作业失败

时间:2012-12-12 05:38:09

标签: hadoop permissions mapreduce apache-pig

我间歇地看到这个异常,因为我的Pig map中的一些映射器和reducers减少了工作。大多数情况下,它会在其他节点上重试,任务成功。但有时所有4个任务都会失败并且地图减少作业失败。

然而有趣的是文件夹jobcache确实有权限700.我不明白为什么它无法在其中创建文件夹。

Error initializing attempt_201212101828_0396_m_000028_0:
java.io.IOException: Failed to set permissions of path: /apollo/env/TrafficAnalyticsHadoop/var/hadoop/mapred/local_data/taskTracker/trafanly/jobcache/job_201212101828_0396 to 0700
    at org.apache.hadoop.fs.FileUtil.checkReturnValue(FileUtil.java:682)
    at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:671)
    at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:509)
    at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:344)
    at org.apache.hadoop.mapred.JobLocalizer.createJobDirs(JobLocalizer.java:221)
    at org.apache.hadoop.mapred.DefaultTaskController.initializeJob(DefaultTaskController.java:184)
    at org.apache.hadoop.mapred.TaskTracker$4.run(TaskTracker.java:1226)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:396)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093)
    at org.apache.hadoop.mapred.TaskTracker.initializeJob(TaskTracker.java:1201)
    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:662)

如果有帮助,我正在使用Hadoop 1.0.1。我在网上搜索时发现的另一件事是:https://issues.apache.org/jira/browse/MAPREDUCE-890在我的情况下,启动mapred集群的用户确实正在运行该作业,即失败时。对于任何其他用户,该作业运行正常。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

将您在.xml配置文件中用作属性值的目录的权限更改为755