hive报错:Failed to move to trash: hdfs Permission denied by sticky 无法删除文件

背景描述:
由于默认的hdfs是备份为3,在三台集群上hive的数据库都有备份,现在准备删除其他datanode上的备份,但执行
hadoop fs -rm -r /user/hive/warehouse/*命令时报错:
rm: Failed to move to trash: Permission denied by sticky bit: user=root, path=…

错误分析:
经过网上搜查之后,发现错误原因可能有三,一是root用户权限不够,在hdfs下,hdfs才是最大权限用户,解决方法是增加root用户的权限;二是HDFS启用了回收站的功能,但是对应的用户家目录下没有/.Trash的目录;三是HDFS中用户家目录的权限,或者回收站的目录权限并没有设置正确;
参考链接:http://d-prototype.com/archives/15154
添加链接描述
解决方法:
一.root用户权限不够,增加root用户的权限
【分析:一的解决方案包含了二和三,我通过方法一成功删除了相应的数据文件】

#查看是否有root用户组
在这里插入图片描述

#如果没有,则使用如下命令进行创建

sudo -u hdfs hdfs dfs -mkdir /user/root
sudo -u hdfs hdfs dfs -mkdir /user/root/.Trash
sudo -u hdfs hdfs dfs -chown -R root /user/root
sudo -u hdfs hdfs dfs -ls /user/root

#给文件赋予hdfs权限

sudo -u hdfs  hdfs dfs -chown -R  root:root  /user/hive/warehouse/* 
hdfs dfs -rm -r /user/hive/warehouse/* #注意,这个会删除集群内三台机器上对应的文件
#hadoop fs -rm -r hdfs://host:port/user/hadoop/dir  
#采用这种形式可以删除某台机器上对应的文件
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值