0

安装 Hadoop 1.1.2 在我的本地机器上以伪分布式模式运行。我的 webapp 在 ubuntu 上的 tomcat6 中运行。当它尝试启动 M/R 作业时,我看到以下错误

MyWebAppClass - 提交 hadoop 作业时出错。

Msg : org.apache.hadoop.security.AccessControlException: Permission denied: user=tomcat6, access=WRITE, inode="mapred":deepakkv:supergroup:rwxr-xr-x org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=tomcat6, access=WRITE, inode="mapred":deepakkv:supergroup:rwxr-xr-x at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:532) at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:95) at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:57) at org.apache.hadoop.hdfs.DFSClient.mkdirs(DFSClient.java:1428) at org.apache.hadoop.hdfs.DistributedFileSystem.mkdirs(DistributedFileSystem.java:332) at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:116) at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:918) at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:912) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:416) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1136) at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:912) at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:886) at

有什么建议么 ?

4

1 回答 1

0

更改目录的所有者和权限,使其可被用户写入。

bin/hadoop fs -chown tomcat6:tomcat6 /mapred
bin/hadoop fs -chmod 777 /mapred
于 2013-06-04T20:14:49.760 回答