通常會把 root 或者需要的用戶添加到 supergroup組,但Linux下默認是沒有supergroup組。
# Linux下默認是沒有supergroup組的
# hadoop:x:994:hdfs,mapred,yarn
cat /etc/group
# 查看hdfs用戶的組是hadoop
# hdfs:x:995:992:Hadoop HDFS:/var/lib/hadoop-hdfs:/sbin/nologin
cat /etc/passwd
所以,先在Linux添加supergroup組,把root用戶添加到supergroup裏,再同步權限到HDFS。
# Linux添加supergroup組
# supergroup:x:1003:
groupadd supergroup
# 將root添加到supergroup
# supergroup:x:1003:root
usermod -a -G supergroup root
# 同步系統權限信息到HDFS,會自動同步其他節點權限
# Refresh user to groups mapping successful for cdh-master/192.168.100.45:8020
# Refresh user to groups mapping successful for cdh-slave01/192.168.100.46:8020
su - hdfs -s /bin/bash -c "hdfs dfsadmin -refreshUserToGroupsMappings"