hadoop3.x 将普通用户增加到HDFS的超级用户组supergroup

默认用户root

在 hadoop-env.sh 最下面配置的用户就是 root,如下:

export HDFS_DATANODE_USER=root
export HDFS_NAMENODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

为什么要创建用户

root用户权限过大,企业开发中是新创建用户,并为该用户设置权限

创建用户

必须在 hdfs服务器(即:hadoop1)上 创建 spark 用户,并指定 supergroup 用户组,还要刷新 hdfs 用户、用户组映射

useradd spark

设置密码:

passwd spark

创建 supergroup 组(因为 HDFS 默认用户组就是supergroup):

groupadd supergroup

将 spark 用户追加到 supergroup 组

usermod -a -G supergroup spark

刷新 hdfs 用户、用户组映射

hdfs dfsadmin -refreshUserToGroupsMappings

执行结果:

Refresh user to groups mapping successful

在 hdfs服务器(hadoop1) 测试

切换 spark 用户:

su spark

执行命令:

hadoop fs -mkdir /spark_test

创建文件夹成功

在 非hdfs服务器(hadoop1) 测试

所在机器必须有 spark 用户,不需要有 supergroup 组

执行下面命令创建用户:

useradd spark

切换 spark 用户:

su spark

执行命令:

hadoop fs -mkdir /spark_test2

创建文件夹成功


原文出处:/show_1IX4GS5VeqWT.html