分享

hadoop2.2出现出现$Windows.access0(Ljava/lang/String;I)Z问题总结

pig2 2014-8-8 17:44:15 发表于 实操演练 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 34440
本帖为答疑在我们知道问题的解决办法后,容易忽略hadoop home以及path的配置
问题导读
1.win7 Eclipse下运行mapreduce是否需要配置hadoop_home?
2.如何配置path?
3.如何让这些配置生效?





运行程序出现问题:
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
at org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Native Method)
at org.apache.hadoop.io.nativeio.NativeIO$Windows.access(NativeIO.java:570)
at org.apache.hadoop.fs.FileUtil.canRead(FileUtil.java:977)
at org.apache.hadoop.util.DiskChecker.checkAccessByFileMethods(DiskChecker.java:173)
at org.apache.hadoop.util.DiskChecker.checkDirAccess(DiskChecker.java:160)
at org.apache.hadoop.util.DiskChecker.checkDir(DiskChecker.java:94)
at org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.confChanged(LocalDirAllocator.java:285)
at org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.getLocalPathForWrite(LocalDirAllocator.java:344)
at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:150)
at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:131)
at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:115)
at org.apache.hadoop.mapred.LocalDistributedCacheManager.setup(LocalDistributedCacheManager.java:131)
at org.apache.hadoop.mapred.LocalJobRunner$Job.<init>(LocalJobRunner.java:163)
at org.apache.hadoop.mapred.LocalJobRunner.submitJob(LocalJobRunner.java:731)
at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:432)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1285)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1282)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:1282)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1303)
at mapreduce.main(mapreduce.java:52)
网站有很多关于这方面的资料,无非就是缺少hadoop.dll.

所以就把这些dll,.exe复制到了hadoop_home的bin文件夹下:这里解释一下hadoop_home是你的hadoop在window下的路径。
至于在哪下载的的dll,winutils.exe,可以参考hadoop家族、strom、spark、Linux、flume等jar包、安装包汇总下载(持续更新)

上面的问题是为什么会把这些文件复制过去,为什么还不生效,百思不得其解。因为以前运行过mapreduce以前是成功的,但是为什么现在不成功,原来是因为重装过系统,系统的环境变量没有配置,那个环境变量没有配置,就是hadoop_home,以及path路径没有配置。
该如何配置:
如下图所示,记得配置完毕,重启生效。问题得到解决






已有(1)人评论

跳转到指定楼层
烤玉米馒頭! 发表于 2014-10-27 19:51:47
有win8.1 cdh5.2.0的编译后的本地文件吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条