在 Linux 环境下使用 HDFS(Hadoop 分布式文件系统) 配置权限,通常涉及 HDFS 自身的权限模型 和 Linux 用户/组的映射。下面按常见场景系统说明。
HDFS 权限模型类似 Linux 文件系统:
rwx rwx rwx
| | |
属主 属组 其他
示例:
drwxr-xr-x - hadoop supergroup 0 2024-01-01 /user/hadoop
hdfs-site.xml:
<property>
<name>dfs.permissions.enabled</name>
<value>true</value>
</property>
修改后需重启 HDFS。
⚠️ HDFS 不存密码,只认“用户名”
whoami
# hadoop
hdfs dfs -ls /
HDFS 认为你是 hadoop
✅ 所以:
hdfs dfs -ls /user
hdfs dfs -chmod 755 /user/hadoop
hdfs dfs -chmod -R 700 /data
hdfs dfs -chown hadoop:supergroup /user/hadoop
hdfs dfs -chgrp dev /data
hdfs dfs -mkdir /user/zhangsan
hdfs dfs -chown zhangsan:zhangsan /user/zhangsan
hdfs dfs -chmod 700 /user/zhangsan
hdfs dfs -mkdir /data/share
hdfs dfs -chgrp team /data/share
hdfs dfs -chmod 770 /data/share
hdfs 或 yarn例如:
sudo -u hdfs hdfs dfs -chmod 777 /tmp
原因:
解决:
sudo -u hdfs hdfs dfs -chown 你:组 路径
✅ 用 用户组
groupadd hdfsgrp
usermod -aG hdfsgrp user1
usermod -aG hdfsgrp user2
hdfs dfs -chgrp hdfsgrp /data
hdfs dfs -chmod 770 /data
如果你用的是 安全集群:
kinitkinit user@REALM
hdfs dfs -ls /
HDFS 权限 = Linux 用户 + HDFS chmod/chown + 用户组控制
如果你愿意,可以告诉我:
我可以给你一套 可直接用的配置方案。