window中远程调用hdfs,报错org.apache.hadoop.security.AccessControlException: Permission denied: user=Daso...

这个是因为,我们访问hdfs得时候,默认是以windows本机得用户去访问,这里我的是Dason,但是在hdfs中,这个用户是没有权限去访问对应得/temp目录得。所以,我们得设置一下访问用户,eclipse中也是如此,IDEA也是。

解决方式:

    这是因为当前用户Dason没有对hdfs的写入权限. 有几种方式解决:

1、在系统的环境变量或java JVM变量里面添加HADOOP_USER_NAME,这个值具体等于多少看自己的情况,以后会运行HADOOP上的Linux的用户名(hadoop,如果是CDH有可能是hdfs)。(修改完重启eclipse,不然可能不生效)

2、将当前系统的帐号修改为hdfs用户(CDH默认为用户名hdfs)

3、使用HDFS的命令行接口修改相应目录的权限,hadoop fs -chmod 777 /user,后面的/user是要上传文件的路径,不同的情况可能不一样,比如要上传的文件路径为hdfs://namenode/user/xxx.doc,则这样的修改可以,如果要上传的文件路径为hdfs://namenode/java/xxx.doc,则要修改的为hadoop fs -chmod 777 /java或者hadoop fs -chmod 777 /,java的那个需要先在HDFS里面建立Java目录,后面的这个是为根目录调整权限。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容