2015-12-18 57 views
1

通過我的Web應用程序,我嘗試運行mapreduce作業。將應用程序部署Tomcat服務器上時,地圖上減少作業運行 我得到follwing例外Hadoop PriviledgedActionException

15/12/17 23:38:36 ERROR security.UserGroupInformation: PriviledgedActionException as:tomcat7 cause:org.apache.hadoo 
p.security.AccessControlException: Permission denied: user=tomcat7, access=WRITE, inode="":hduser:supergroup:rwxr-x 
r-x 
15/12/17 23:38:36 INFO ipc.Server: IPC Server handler 6 on 54310, call mkdirs(/out/StichedFile/_temporary, rwxr-xr- 
x) from 104.154.95.48:41285: error: org.apache.hadoop.security.AccessControlException: Permission denied: user=tomc 
at7, access=WRITE, inode="":hduser:supergroup:rwxr-xr-x 
org.apache.hadoop.security.AccessControlException: Permission denied: user=tomcat7, access=WRITE, inode="":hduser:s 
upergroup:rwxr-xr-x 
     at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:217) 
     at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:197) 
     at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:141) 
     at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:5758) 
     at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkAncestorAccess(FSNamesystem.java:5731) 
     at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirsInternal(FSNamesystem.java:2502) 
     at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirs(FSNamesystem.java:2469) 
     at org.apache.hadoop.hdfs.server.namenode.NameNode.mkdirs(NameNode.java:911) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:587) 
     at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1432) 
     at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1428) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at javax.security.auth.Subject.doAs(Subject.java:415) 
     at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190) 
     at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1426) 

如何擺脫這個問題?

回答

1

這可能是一個權限問題。有兩種方法可以解決它。 您可以禁用hdfs-site.xml中的權限

<property> <name>dfs.permissions</name> <value>false</value> </property> 或者您可以爲hadoop中的用戶'tomcat7'授予寫入權限。

1

用戶tomcat7沒有寫權限調用

mkdirs(/out/StichedFile/_temporary 

設置permissions (write & read)該用戶此目錄或將此用戶添加到superuser group解決這個錯誤。

相關問題