我可以查看由Flume应用程序放置在HDFS上的文件-
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文件的访问权限?谢谢你的帮忙!
发布于 2015-09-06 03:23:30
当使用hadoop fs -rm命令但不使用-skipTrash选项删除文件时,该文件将被移动到代理用户的HDFS主目录下的.Trash目录。在您的示例中,用户是flume,这意味着它在HDFS上的主目录是/user/flume,而回收站目录是/user/flume/.Trash。
根据您观察到的错误,导致问题的原因是flume用户的主目录不归它所有:inode="/user/flume":cloudera:flume:drwxr-xr-x
因此,要解决此问题,请确保通过sudo -u hdfs hadoop fs -chown flume /user/flume将flume用户设置为其/user/flume HDFS主目录的真正所有者。
https://stackoverflow.com/questions/30089972
复制相似问题