从hdfs中删除

p5cysglq  于 2021-06-04  发布在  Flume
关注(0)|答案(1)|浏览(459)

我可以查看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文件的权限?谢谢你的帮助!

cgh8pdjw

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 .

相关问题