在hadoop集群环境里面,我们经常会涉及到使用其他系统来操作hadoop集群里面的hdfs,例如:spark要向hdfs写入文件,我们可能使用不同的用户操作hdfs的api,等等。在hadoop中,默认是开启了权限校验的,如果我们这个时候操作,经常会遇到如下的错误:
org.apache.hadoop.security.AccessControlException: Permission denied: user=Administrator, access=WRITE, inode="/":tele:supergroup:drwxr-xr-x
所以为了避免出现问题,我们需要把hadoop上的hdfs权限验证给关闭掉,那么如何关闭呢?很简单,就是在hdfs-site.xml文件中,把下面的配置添加上:
<property> <name>dfs.permissions</name> <value>false</value> </property>
备注:
1、hadoop整个集群里面的所有机器上的hdfs-site.xml文件都需要配置这一项。
配置完毕之后,我们直接重启下整个hadoop集群,重启之后,我们就可以直接操作hdfs上的文件系统了,并且不会再报上面的错误信息 了。
备注:
1、关闭权限这块一般我们由于hadoop环境在内网,而且操作的话,都有严格的规划,因此对于我们来说,我们一般都会把这个权限验证给关闭掉。
还没有评论,来说两句吧...