zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

漫画大数据:为啥我把 HDFS 文件权限都改成 777 了还是删不掉?

2023-02-25 18:27:12 时间

小伙伴们大家好

$ HADOOP_USER_NAME=hdfs hadoop fs -ls /test
Found 1 items
-rwxrwxrwx   3 hdfs supergroup    3 2022-12-15 22:17 /test/b.txt

第一组 rwx 表示文件的 Owner 也就是 hdfs 用户有读写权限 第二组 rwx 表示文件所属组 也就是 supergroup 组内的用户有读写权限 第三组 rwx 表示其他用户有读写权限。 但对于 HDFS 上的文件而言,可执行权限 (x) 是被忽略掉的,HDFS 上不存在可执行文件的说法,可执行权限 (x) 只对目录有意义,这个是与平时我们用的 Linux 上概念不同的地方

对于文件而言:
    读文件需要:r
    写文件需要:w
    追加文件需要: w

对于目录而言:
    列出目录下的内容需要:r
    访问目录内的文件或子目录需要:x
    在目录下创建或删除文件需要:w
    在目录中创建或删除子目录需要:w
$ HADOOP_USER_NAME=hdfs hadoop fs -chmod -R 777  /test

$ HADOOP_USER_NAME=hdfs hadoop fs -ls /test
Found 1 items
-rwxrwxrwx   3 hdfs supergroup          3 2022-12-15 22:17 /test/b.txt

$ HADOOP_USER_NAME=hive hadoop fs -rm /test/b.txt
rm: Failed to move to trash: 
hdfs://master:8020/test/b.txt: Permission denied by sticky bit: 
user=hive, path="/test/b.txt":hdfs:supergroup:-rwxrwxrwx, 
parent="/test":hdfs:supergroup:drwxrwxrwt
$ HADOOP_USER_NAME=hdfs hadoop fs -ls /
Found 3 items
drwxrwxrwt   - hdfs supergroup          0 2022-12-15 22:19 /test
...
...
$ HADOOP_USER_NAME=hdfs hadoop fs -ls /
Found 3 items
...
drwxrwxrwt   - hdfs supergroup          0 2022-12-12 21:05 /tmp
...