再说dfs.umask

通过dfs.umask可以控制在hdfs上创建的文件夹和文件的属性,该值的默认值为0022。
今天想修改dfs.umask的时候发现,这个参数和linux中的umask不大一样。

比如我想让文件的属性为-rw-r–r–,那么在linux中应该设置umask为022,而设置dfs.mask的值为0022的时候,结果并不是我希望的。
后来发现在dfs.umask存储的10进制的值,对于linux的umask的022,对应10进制就是0018。
设置如下:

dfs.umask
0018  再次创建文件,权限已经正确了。

-rw-r–r– 1 hadoop supergroup 5 2012-05-29 15:21 /sunwg/3.dat


Coding: 

conf.setInteger( "dfs.umask",  xxx to the base 10);

Configure file: 

 <property>
    <name>dfs.umask</name>
    <value>???</value>
  </property>


Update:

linux中的umask参数是八进制,而hadoop中类似作用的参数采用的是十进制,这样想要写入的文件权限为rwxr-x---(750),linux中umask需设为027,对应的十进制为2*8+7=23,所以将dfs.umask参数设为023,即可达到目的。



ref:  http://www.oratea.net/?p=1279

http://archive.cloudera.com/cdh/3/hadoop/hdfs_permissions_guide.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值