1.问题描述
刚部署了CDH集群,同事往hdfs中写了一些测试数据,通过Hive查询这些数据的时候报了下面错误:FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x
2. 解决过程
网上查询资料后给的说法是:“/user文件的所有者是HDFS 权限为755 也就是只有HDFS才能对这个文件进行操作,而root去访问hdfs上面的/user目录没有权限,那么接下来我们便可以这样操作文件,先退出hive,输入命令su hdfs ,然后 输入hadoop fs -chmod 777 /user 来进行授权”
原文链接:https://blog.csdn.net/qq_27421011/article/details/78251560
按照上述方法解决时候,在服务器上执行 su hdfs 报错:
后调整了一下命令,执行:sudo -u hdfs hadoop fs -chmod 777 /user
问题解决了。