0564-6.1.0-HDFS超级用户(Superuser)和HDFS管理员(Administrator)的区别

本文详细介绍了HDFS中的超级用户和管理员的区别,超级用户主要拥有文件和目录的高级权限,而管理员则能执行特定管理操作,如HA故障转移。配置管理员涉及到在hdfs-site.xml中设置dfs.cluster.administrators参数。通过示例展示了如何将用户添加为管理员,包括配置、验证和执行管理命令的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 文档编写目的

在前面的文章《0550-6.1-如何将普通用户增加到HDFS的超级用户组supergroup》中Fayson介绍过如何将普通用户设置为HDFS的超级用户,从而可以让普通用户也可以执行如dfsadmin相关的功能,但对于HDFS服务来说还有一个管理员用户(dfs.cluster.administrators),无论是超级用户还是管理员用户默认都是hdfs,本文Fayson主要介绍如何将普通用户设置为HDFS的管理员用户。

  • 测试环境

1.CDH6.1

2.Redhat7.4

3.集群已启用Kerberos

4.集群已启用HDFS HA

2 Superuser和Administrator的区别

1.HDFS Superuser/Groups

专门用于HDFS上文件/文件夹的权限。

“无论文件或目录的权限如何,运行NameNode服务的用户(通常为hdfs)和dfs.permissions.superusergroup中定义的组的任何成员(默认为supergroup)都可以读,写或删除任何文件和目录。对于HDFS来说,它们就相当于Linux系统上的root。”

quote “Regardless of the permissions on a file or a directory, the user that the NameNode runs as (typically hdfs) and any member of the group defined in dfs.permissions.superusergroup (defaults to supergroup), can read, write, or delete any file and directory. As far as HDFS is concerned, they are the equivalent of root on a Linux system”

Also Reference:
https://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-hdfs/HdfsPermissionsGuide.html

2.HDFS Administrators

除了在hadoop-policy.xml中配置ACL之外,某些HDFS管理操作(比如强制HA故障转移),也只能是HDFS集群管理员才能操作。通过在hdfs-site.xml中的参数dfs.cluster.administrators中设置以逗号分隔的用户列表以及以逗号分隔组列表来配置管理员,用户列表和组列表之间需要有空格来隔开。空格前为空则表示用户列表为空,空格后为空则表示组列表为空。

Quote“ACL for the admins, this configuration is used to control who can access the default servlets in the namenode, etc. The value should be a comma separated list of users and groups. The user list comes first and is separated by a space followed by the group list, e.g. “user1,user2 group1,group2”. Both users and groups are optional, so “user1”, " group1", “”, “user1 group1”, “user1,user2 group1,group2” are all valid (note the leading space in " group1"). ‘*’ grants access to all users and groups, e.g. ‘*’, ‘* ’ and ’ *’ are all valid.”

参考:
https://hadoop.apache.org/docs/r2.9.2/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

3 配置方法

1.Fayson的测试集群一共有4台机器,首先在4台机器都增加fayson1这个用户,使用“useradd fayson1”命令即可,同时在KDC中增加fayson1这个principal,如何增加这里省略,增加成功后做以下验证。

[root@ip-172-31-6-83 shell]# sh ssh_do_all.sh node.list "id fayson1"
[root@ip-172-31-6-83 shell]# kinit fayson1
[root@ip-172-31-6-83 shell]# klist

2.通过CM进入HDFS服务的配置项,增加如下配置。

CM - HDFS- Configurations : NameNode Advanced Configuration Snippet (Safety Valve) for hdfs-site.xml

<property>
 <name>dfs.cluster.administrators</name>
 <value>hdfs fayson1</value>
 </property>

注:配置的value中,前面的hdfs代表hdfs用户,空一格后fayson1代表的是用户组。

保存配置更改,然后根据提示重启HDFS服务。

重启完成:

3.获取两个NameNode的Service ID,首先从CM进入HDFS服务,并选择任意一个NameNode进入,点击“进程”。

点击hdfs-site.xml

从配置中可以看出ip-172-31-4-105.ap-southeast-1.compute.internal的ID为namenode126,ip-172-31-6-83.ap-southeast-1.compute.internal的ID为namenode50。

4.用fayson1用户登录Kerberos,并执行haadmin相关的命令。

[root@ip-172-31-6-83 shell]# kinit fayson1
Password <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值