我是Hadoop的新手,我遇到了一个我不确定如何解决的问题。
我有两个现有的HDFS用户:一个叫做hdfs,一个叫做user1。当我将文件作为user1写入HDFS时,两个用户都可以查看和删除文件。但是,如果我将该文件添加为用户hdfs,则当我尝试使用它时,user1会抛出一个找不到文件的错误。为什么一个用户能够编辑文件而另一个用户无法编辑文件?我能做些什么来让user1也能够编辑文件吗?
以下是用户的权限:
hdfs = drwxr-xr-x
user1 = drwxrwxr-x
我在CentOS 6.6上运行HDFS作为OpenJDK 1.8的一部分
答案 0 :(得分:1)
hdfs是super-user,不受权限检查的限制,可以特别访问其他用户的文件,例如user1
chmod
可按以下方式完成:hdfs dfs -chmod XXX /dir
答案 1 :(得分:1)
hdfs用户是超级用户,因此每当您将文件复制为hdfs
时,其他用户都看不到。如果你想看到那些文件你必须执行命令,如下所示
sudo -u hdfs hdfs dfs -cat /path/
user1是普通用户,因此每当您将文件复制为user1
时,hdfs用户都可以访问这些文件
hdfs dfs chgrp
hdfs dfs chmod
hdfs dfs chown
答案 2 :(得分:1)
HDFS是这里的超级用户,所以它可以访问所有文件,但如果你想通过user1查看具有用户和组hdfs的文件,那么你就无法直接看到。
首先,您需要更改该文件的用户和组,然后才能看到该文件。
要更改该文件的所有者和组,请使用以下命令: -
hadoop fs -chown [-R] [OWNER] [:[GROUP]] URI [URI]