通过dfs.umask可以控制在hdfs上创建的文件夹和文件的属性,该值的默认值为0022。
在hadoop中通过dfs.umask参数可以控制默认的文件的权限。
dfs.umask的设置
<property> <name>dfs.umask</name> <value>0002</value> </property>
这个参数和linux中的umask不大一样。
比如我想让文件的属性为-rw-r–r–,那么在linux中应该设置umask为022,而设置dfs.mask的值为0022的时候,结果并不是我希望的。
后来发现在dfs.umask存储的10进制的值,对于linux的umask的022,对应10进制就是0018。
设置如下:
<property> <name>dfs.umask</name> <value>0018</value> </property>
再次创建文件,权限已经正确了。
-rw-r–r– 1 hadoop supergroup 5 2012-05-29 15:21 /sunwg/3.dat
转自 http://www.oratea.net/?p=1279