我可以查看flume应用程序放置在HDF上的文件-
sudo -u flume hadoop fs -cat tweets/2015/05/06/15/FlumeData.1430952817762
但当我试图删除上面的文件夹、推文以及所有内容时-
sudo -u flume hadoop fs -rm -r tweets
我得到这个错误-
Failed to move to trash: hdfs://quickstart.cloudera:8020/user/flume/tweets: Permission denied: user=flume, access=WRITE, inode="/user/flume":cloudera:flume:drwxr-xr-x
我知道我需要有写权限,可能以某种方式使用chmod,但我不确定用户能做什么。当然,用户hdfs无法看到文件夹-
sudo -u hdfs hadoop fs -chmod 777 tweets
chmod: `tweets': No such file or directory
我如何获得删除这些flume创建的hdfs文件的权限?谢谢你的帮助!
1条答案
按热度按时间cgh8pdjw1#
删除带有
hadoop fs -rm
命令,但没有-skipTrash
选项,则文件将移动到.Trash
代理用户的hdfs主目录下的目录。在您的情况下,用户是flume
,这意味着它在hdfs上的主目录/user/flume
垃圾目录是/user/flume/.Trash
.根据您观察到的错误
flume
用户不属于它,导致问题:inode="/user/flume":cloudera:flume:drwxr-xr-x
因此,要解决问题,请确保flume
用户是其/user/flume
hdfs主目录通过:sudo -u hdfs hadoop fs -chown flume /user/flume
.