如何使用Hadoop/Kerberos设置设置用户/组权限?

如何使用Hadoop/Kerberos设置设置用户/组权限?,hadoop,kerberos,cloudera,Hadoop,Kerberos,Cloudera,我正在尝试用Kerberos设置Hadoop 我遵循CDH3安全指南 到目前为止一切都很顺利(HFDS工作正常等),但当我尝试提交作业时,我遇到了以下错误 我以HDFS用户的身份运行HDFS服务器,以mapred用户的身份运行Hadoop。我使用mapred组中名为bob的用户提交作业 以下是我对taskcontroller.cfg的值 mapred.local.dir=/opt/hadoop-work/local/ hadoop.log.dir=/opt/hadoop-1.0.3/logs m

我正在尝试用Kerberos设置Hadoop

我遵循CDH3安全指南

到目前为止一切都很顺利(HFDS工作正常等),但当我尝试提交作业时,我遇到了以下错误

我以HDFS用户的身份运行HDFS服务器,以mapred用户的身份运行Hadoop。我使用mapred组中名为bob的用户提交作业

以下是我对taskcontroller.cfg的值

mapred.local.dir=/opt/hadoop-work/local/
hadoop.log.dir=/opt/hadoop-1.0.3/logs
mapreduce.tasktracker.group=mapred
min.user.id=1000
我得到的错误是

java.io.IOException: Job initialization failed (24) with output: Reading task controller config from /etc/hadoop/taskcontroller.cfg
Can't get group information for mapred  - Success.
    at org.apache.hadoop.mapred.LinuxTaskController.initializeJob(LinuxTaskController.java:192)
    at org.apache.hadoop.mapred.TaskTracker$4.run(TaskTracker.java:1228)
    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:1121)
    at org.apache.hadoop.mapred.TaskTracker.initializeJob(TaskTracker.java:1203)
    at org.apache.hadoop.mapred.TaskTracker.localizeJob(TaskTracker.java:1118)
    at org.apache.hadoop.mapred.TaskTracker$5.run(TaskTracker.java:2430)
    at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.hadoop.util.Shell$ExitCodeException: 
    at org.apache.hadoop.util.Shell.runCommand(Shell.java:255)
    at org.apache.hadoop.util.Shell.run(Shell.java:182)
    at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:375)
    at org.apache.hadoop.mapred.LinuxTaskController.initializeJob(LinuxTaskController.java:185)
    ... 8 more
错误总是与taskcontroller.cfg中的“mapreduce.tasktracker.group=mapred”一起出现

我一直在调试和查看,我认为问题在于我在不同的用户和组之间设置了错误的权限

非常感谢您的帮助