基本解决方案
如果上面的解决办法解决不了你的问题,请看下面的方式
1.尝试切换用户创建文件夹
sudo -u hdfs hdfs dfs -mkdir /tmp
到这里,应该就可以解决金丝雀(Canary)问题了,但是你会发现,你无法在控制台直接使用hdfs命令,不能每次都使用sudo -u吧。所以接下来可以将root用户加入到hdfs的组中
[root@slave01 file]# vim /etc/group
root:x:0:
......
# 找到hadoop,在后面加上root即可
hadoop:x:993:hdfs,mapred,yarn,root
......
或者
[root@master01 ~]# sudo -u hdfs hdfs dfs -chmod 755 /
[root@master01 ~]# groupadd supergroup
[root@master01 ~]# usermod -a -G supergroup root
或者
以后在hdfs上创建的文件默认权限都是777 即 rwxrxrwx
<property>
<name>fs.permissions.umask-mode</name>
<value>000 </value>
<description>指定HDFS集群的umask值,默认值为022(创建的文件(目录)权限即为"755",即rwxr-xr-x)</description>
</property>