博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何释放hdfs中的续租_0550-6.1-如何将普通用户增加到HDFS的超级用户组supergroup
阅读量:4987 次
发布时间:2019-06-12

本文共 1746 字,大约阅读时间需要 5 分钟。

1.文档编写目的

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

  • 测试环境

1.CDH6.1

2.Redhat7.4

3.集群已启用Kerberos

2.配置方法

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

[root@ip-172-31-6-83 ~]# kinit faysonPassword for fayson@FAYSON.COM: [root@ip-172-31-6-83 ~]# klistTicket cache: FILE:/tmp/krb5cc_0Default principal: fayson@FAYSON.COMValid starting Expires Service principal02/22/2019 00:03:46 02/23/2019 00:03:46 krbtgt/FAYSON.COM@FAYSON.COM renew until 03/01/2019 00:03:46
a48fd350cb4416a6ea87bef6c44c60f4.png

2.执行以下命令

[root@ip-172-31-6-83 ~]# hdfs dfsadmin -report
a255a7d8a342b35de69db6fdad22b2de.png

发现报错如下:

report: Access denied for user fayson. Superuser privilege is required

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

[root@ip-172-31-6-83 ~]# groupadd supergroup
748321b48a4e7bfd4c2a7fa2e1205080.png

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

[root@ip-172-31-6-83 ~]# usermod -a -G supergroup fayson[root@ip-172-31-6-83 ~]# id faysonuid=1001(fayson) gid=1001(fayson) groups=1001(fayson),1004(supergroup)[root@ip-172-31-6-83 ~]#
3a477c17c8b6587aa73e62b69b495422.png

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

[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
a64c351ef6049b71c7f0ff31214213e4.png

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

[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
1f93fe150be671a7a7db8fac5af900a9.png

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

3.总结

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

转载地址:http://kqnrp.baihongyu.com/

你可能感兴趣的文章
SQL SERVER 如何处理带字母的自增列--【叶子】
查看>>
使用DocFX生成文档
查看>>
AssemblyInfo.cs文件的作用
查看>>
android之PackageManager简单介绍
查看>>
GitLab备份与恢复
查看>>
20155307《网络对抗》免杀原理与实践
查看>>
《Android开发卷——自定义日期选择器(三)》
查看>>
游里工夫独造微一一小平邦彦传
查看>>
HTML5 JSON ( tuple => Object => JSON => Object=> Elements_of_tuple )
查看>>
layui中的html怎样接收后台的值,layui框架与SSM前后台交互的方法
查看>>
Skulpt在线模拟运行Python工具
查看>>
287.软件测试概述
查看>>
297.白盒测试
查看>>
新闻客户端的突破与创新
查看>>
网络通信引擎ICE的使用
查看>>
js滚动事件实现滚动触底加载
查看>>
(十)、iptables进行转发使内网能上网
查看>>
python之路《八》装饰器
查看>>
maven 打包前 Junit 测试
查看>>
spring boot 添加druid
查看>>