分享

CDH6.1实战之将普通用户设置为HDFS的超级用户

本帖最后由 fc013 于 2019-2-23 17:49 编辑

问题导读:

1.怎样在linux系统中增加用户组和用户?
2.HDFS和Linux的超级用户组有哪些差别?
3.如何将普通用户设置为HDFS的超级用户?


文档编写目的

对于HDFS服务,hdfs默认是超级管理员用户,它的权限最大,可以说它就相当于Linux的root。hdfs用户默认对所有目录有所有权限,同时可以执行HDFS相关的管理员命令比如让HDFS进入安全模式。但我们有时会碰到需要配置另一个超级用户的情况,本文主要介绍如何将普通用户设置为HDFS的超级用户。

  • 测试环境
1.CDH6.1
2.Redhat7.4
3.集群已启用Kerberos

配置方法

1.使用普通用户fayson登录Kerberos

[mw_shl_code=shell,true][root@ip-172-31-6-83 ~]# kinit fayson
Password for fayson@FAYSON.COM:
[root@ip-172-31-6-83 ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: fayson@FAYSON.COM

Valid starting       Expires              Service principal
02/22/2019 00:03:46  02/23/2019 00:03:46  krbtgt/FAYSON.COM@FAYSON.COM
        renew until 03/01/2019 00:03:46[/mw_shl_code]

640.png

2.执行以下命令

[mw_shl_code=shell,true][root@ip-172-31-6-83 ~]# hdfs dfsadmin -report[/mw_shl_code]

640.jpeg

发现报错如下:

[mw_shl_code=text,true]report: Access denied for user fayson. Superuser privilege is required
[/mw_shl_code]

3.首先我们在操作系统下增加supergroup组,并确认增加成功

[mw_shl_code=shell,true][root@ip-172-31-6-83 ~]# groupadd supergroup
[/mw_shl_code]

640 (1).png

4.将用户fayson增加到supergroup组中,并确认增加成功。

[mw_shl_code=shell,true][root@ip-172-31-6-83 ~]# usermod -a -G supergroup fayson
[root@ip-172-31-6-83 ~]# id fayson
uid=1001(fayson) gid=1001(fayson) groups=1001(fayson),1004(supergroup)
[root@ip-172-31-6-83 ~]#[/mw_shl_code]

640 (3).png

5.将上一步增加的信息同步到HDFS,注意这里需要使用hdfs用户来操作,因为Fayson的环境启用了Kerberos,所以需要使用hdfs的keytab登录。

[mw_shl_code=shell,true][root@ip-172-31-6-83 ~]# cd /var/run/cloudera-scm-agent/process
[root@ip-172-31-6-83 987-hdfs-NAMENODE-nnRpcWait]# kinit -kt hdfs.keytab hdfs/ip-172-31-6-83.ap-southeast-1.compute.internal@FAYSON.COM
[root@ip-172-31-6-83 987-hdfs-NAMENODE-nnRpcWait]# hdfs dfsadmin -refreshUserToGroupsMappings[/mw_shl_code]

640 (1).jpeg

6.使用fayson用户登录Kerberos,进行验证。

[mw_shl_code=shell,true][root@ip-172-31-6-83 987-hdfs-NAMENODE-nnRpcWait]# kinit fayson
[root@ip-172-31-6-83 987-hdfs-NAMENODE-nnRpcWait]# hdfs dfsadmin -report
[/mw_shl_code]

640 (2).jpeg

执行成功,未报错,说明fayson已经配置为HDFS服务的超级用户成功。

总结

Hadoop本身的用户和组的关系,都是同步Linux系统中的,但是HDFS和Linux的超级用户组又有一点差别,HDFS中的超级用户组是supergroup,但是Linux中默认是没有supergoup这个组,这个时候只需要在Linux中增加supergroup这个组,然后将要在HDFS中加入到supergroup中的用户加到这个组中,再同步HDFS用户和组即可。




最新经典文章,欢迎关注公众号



来源: weixin
作者:  Fayson  Hadoop实操

原文链接:0550-6.1-如何将普通用户增加到HDFS的超级用户组supergroup

已有(2)人评论

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条