在 CentOS 上配置 HDFS 用户,通常有两种理解:
下面分别说明,最常用的场景是第 1 种 + 第 2 种结合。
sudo groupadd hadoop
sudo useradd -m -g hadoop hdfs
设置密码(可选):
sudo passwd hdfs
visudo
添加:
hdfs ALL=(ALL) NOPASSWD:ALL
例如:
sudo mkdir -p /data/hdfs/namenode
sudo mkdir -p /data/hdfs/datanode
sudo chown -R hdfs:hadoop /data/hdfs
HDFS 没有独立的用户系统,它使用 Linux 用户名 + 权限模型。
su - hdfs
比如要给用户 zhangsan 建 HDFS 用户:
hdfs dfs -mkdir /user/zhangsan
hdfs dfs -chown zhangsan:hadoop /user/zhangsan
hdfs dfs -chmod 750 /user/zhangsan
<property>
<name>hadoop.http.staticuser.user</name>
<value>hdfs</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>true</value>
</property>
✅ 用 hdfs 用户启动
✅ NameNode / DataNode 目录属主正确
✅ 确认 Linux 用户存在
✅ /user/用户名 目录存在且权限正确
如果你是指 CDH / HDP / 原生 Apache Hadoop / 某具体版本,可以告诉我,我可以给你更精确的步骤。