hadoop文件系统访问权限修改延迟,或者是权限更新延迟,权限缓存问题

经过多次经历发现hadoop目前对目录的权限管理有同步问题。


正常情况下,以某个用户启动,则目录权限会变成该用户。至于用户所在的组,可以直接忽略,没有看到用处。


但是有时候会出现这样的情形。明明运行程序是超级用户,也就是缺省使用hdfs用户(如果有设置缺省),但是可以访问solr, 权限的目录,而且一直稳定运行。


但是某一天,也许你忽然想改变一些配置。重启了一些应用。也许就忽然它就权限变更了。除非你用正确的用户启动,并修正权限所带来的问题,否则就不能访问。


这种事情经历过两次,一次是cloudear solr(solrcloud)的问题。另外一次是hdfs的一个扩展应用程序,文件系统时遇到。都是开始能用,在进行目录清理,或者是配置变更,重启某些应用后忽然就不能用了。


象是延迟发作的地雷。延时爆炸的雷。


仔细想了一下hadoop整个儿的机制,hdfs系统的机制,还有linux文件系统管理机制。 最后想,可能是这个原因。 


hdfs文件系统,主要是nameserver, 它在管理权限时并不会立即生效,除非你手机用chmod改权限。它有一个更新数据的触发条件。在此之前,所有文件都是可以跨权限访问的。而且它也允许这么做。这是因为避免过快的同步,提高文件系统的管理效率。也减少了同步造成的一系列问题。严格的说,它的权限同步是“人为手工”触发的。除非你明确的说,我需要仅限变更,否则它不更新。


这样以来,所有已启动的进程,所有namenode里已经在活动状态的文件,都可以跨权限访问了。 但是在偶尔的情况下,它会触发权限同步,造成后来的应用忽然就不能访问,显示为目录无权限。


此时需要手工更新所有的目录权限,建议同时重新启动所有服务节点,所有相关应用。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值