在 CentOS 上配置 HDFS 用户,通常分为 Linux 系统用户 和 HDFS 文件系统用户/权限 两部分。下面按常见场景详细说明。
HDFS 本身没有独立账号体系,它依赖:
比如你在 Linux 中是
hadoop用户,那么在 HDFS 中默认就是hadoop用户。
useradd hadoop
passwd hadoop
visudo
添加:
hadoop ALL=(ALL) NOPASSWD:ALL
su - hadoop
HDFS 的用户不是“创建”出来的,而是通过在 HDFS 上建目录 + 赋权实现的。
start-dfs.sh
hdfs dfs -mkdir /user/testuser
hdfs dfs -chown testuser:testuser /user/testuser
⚠️ 前提:
testuser必须在 Linux 中存在
hdfs dfs -ls /user
hdfs dfs -chmod 755 /user/testuser
hdfs dfs -chown testuser:testgroup /user/testuser
groupadd testgroup
usermod -aG testgroup testuser
hdfs-site.xml
<property>
<name>dfs.permissions.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
修改后重启 HDFS:
stop-dfs.sh
start-dfs.sh
如果是 生产集群,一般会用 Kerberos:
kinit testuser@EXAMPLE.COM
hdfs dfs -ls /
useradd testuser
su - testuser
hdfs dfs -mkdir /user/testuser
hdfs dfs -chown testuser:testuser /user/testuser
如果你能告诉我:
我可以给你更精确的配置方案。