Hadoop用户、用户组以及权限

hadoop的用户和用户组使用的是Linux中的用户组。先看一个问题,如何把root用户加入到超级组supergroup
先创建用户组:supergroup

groupadd supergroup

然后把root用户添加到该组

usermod -a -G supergroup root

刷新hadoop上的用户和用户组映射

 hdfs dfsadmin -refreshUserToGroupsMappings

第一次执行,root用户并没有获得supergroup组的权限,可能是因为执行的机器hadoop01不是active状态,也可能是因为必须两个namenode必须都都有这个用户组才行,具体没有验证。直接在所有机器上执行了操作。
查看namenode状态的命令

hdfs haadmin -getAllServiceState

在这里插入图片描述
修改Hadoop文件用户组

hadoop fs -chown root:root /user/root

第一个root是用户组,第二个是用户

[root@hadoop01 ~]# hadoop fs -ls /user
Found 2 items
drwx------   - hadoop supergroup          0 2020-12-27 18:56 /user/hadoop
drwx------   - root   root                0 2020-12-27 19:24 /user/root

为了方便在所有机器上执行同样的操作,写了一个脚本doAll

for i in {5..1};
do
echo "正在服务器hadoop0${i}上执行操作:$1"
ssh hadoop0${i} "${1}"
done

看效果

[root@hadoop01 ~]# doAll 'groupadd supergroup'
正在服务器hadoop05上执行操作:groupadd supergroup
正在服务器hadoop04上执行操作:groupadd supergroup
正在服务器hadoop03上执行操作:groupadd supergroup
正在服务器hadoop02上执行操作:groupadd supergroup
正在服务器hadoop01上执行操作:groupadd supergroup
groupadd: group 'supergroup' already exists
[root@hadoop01 ~]# doAll 'usermod -a -G supergroup root'
正在服务器hadoop05上执行操作:usermod -a -G supergroup root
正在服务器hadoop04上执行操作:usermod -a -G supergroup root
正在服务器hadoop03上执行操作:usermod -a -G supergroup root
正在服务器hadoop02上执行操作:usermod -a -G supergroup root
正在服务器hadoop01上执行操作:usermod -a -G supergroup root
[root@hadoop01 ~]# doAll 'usermod -a -G supergroup hadoop'
正在服务器hadoop05上执行操作:usermod -a -G supergroup hadoop
正在服务器hadoop04上执行操作:usermod -a -G supergroup hadoop
正在服务器hadoop03上执行操作:usermod -a -G supergroup hadoop
正在服务器hadoop02上执行操作:usermod -a -G supergroup hadoop
正在服务器hadoop01上执行操作:usermod -a -G supergroup hadoop
[root@hadoop01 ~]# doAll 'cat /etc/group |grep supergroup'
正在服务器hadoop05上执行操作:cat /etc/group |grep supergroup
supergroup:x:1001:root,hadoop
正在服务器hadoop04上执行操作:cat /etc/group |grep supergroup
supergroup:x:1001:root,hadoop
正在服务器hadoop03上执行操作:cat /etc/group |grep supergroup
supergroup:x:1001:root,hadoop
正在服务器hadoop02上执行操作:cat /etc/group |grep supergroup
supergroup:x:1001:root,hadoop
正在服务器hadoop01上执行操作:cat /etc/group |grep supergroup
supergroup:x:1001:root,hadoop
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值