报错信息
Exception in thread "main" org.apache.hadoop.security.AccessControlException: Permission denied: user=ɽ¼äһͷ, access=EXECUTE, inode="/user/hive/warehouse":root:supergroup:drwxr-x---
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:266)
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:206)
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:190)
at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1752)
at org.apache.hadoop.hdfs.server.namenode.FSDirStatAndListingOp.getFileInfo(FSDirStatAndListingOp.java:100)
原因
根据错误信息提示:inode="/user/hive/warehouse":hadoop1:supergroup:drwxr-xr-x 知道在windows上运行程序默认的用户是本机的账号,是没有权限往HDFS中的/user/hive/warehouse目录写入文件的
解决方法
方法一:在程序开头添加如下代码,将用户改为root
System.setProperty("HADOOP_USER_NAME","root")
方法二:修改/user/hive/warehouse的读写权限
hdfs dfs -chmod 777 /user/hive/warehouse
网友评论