根据 hadoop开发方式总结及操作指导 ,
![](https://i-blog.csdnimg.cn/blog_migrate/7091aefe414947727de8de9c49547ae1.jpeg)
采用第一种开发方式,我们会遇到权限问题,面对这个问题,该如何解决,有两种解决办法:
第一种解决办法:
1、重新编译hadoop-core-xxx.jar包1. 原因 当用hadoop中自带的hadoop-core-xxx.jar包时,会出现UserGroupInformation类型的错误,这个是Windows下文件权限问题,在Linux下可以正常运行。
2. 解决方案 修改/hadoop-xxx/src/core/org/apache/hadoop/fs/FileUtil.java里的checkReturnValue,注释掉其中代码即可,重新编译后替换原hadoop-core-xxx.jar包中FileUtil.java,再替换掉hadoop-xxx根目录下的hadoop-core-xxx.jar即可。
修改前:
修改后:
被修改后FileUtil.java文件
![](https://i-blog.csdnimg.cn/blog_migrate/3f8dff156bb1f84ce24dff7739933d82.gif)
第二种解决办法:将下面附件中的文件拖入项目中,与源码中的core包发生冲突,不过不影响运行
![](https://i-blog.csdnimg.cn/blog_migrate/3f8dff156bb1f84ce24dff7739933d82.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/d02a6ff1ffc0e6f931eaff468493f06a.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/729e18f608664264770eb9a284a35471.jpeg)