Flume - 从HDFS删除

时间:2015-05-07 00:36:38

标签: hdfs flume

我能够通过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

我知道我需要获得WRITE权限,可能以某种方式使用CHMOD,但我不确定用户可以做什么。当然,用户HDFS无法看到文件夹 -

sudo -u hdfs hadoop fs -chmod 777 tweets
chmod: `tweets': No such file or directory

如何获取删除Flume创建的HDFS文件的权限?谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

使用hadoop fs -rm命令删除文件但没有-skipTrash选项时,该文件将被移动到代理用户的HDFS主目录下的.Trash目录。在您的情况下,用户为flume,这意味着HDFS上的主目录为/user/flume,垃圾邮件目录为/user/flume/.Trash

根据您观察到的错误,flume用户的主目录不归其所有,从而导致问题:inode="/user/flume":cloudera:flume:drwxr-xr-x

要解决此问题,请通过以下方式确保flume用户成为其/user/flume HDFS主目录的真正所有者。{/ 1}}。