hadoop win10 操控虚拟机写代码环境配置

发布时间:2019年01月24日 阅读:273 次

一、初始eclipse环境配置
可以直接下载已配置好的eclipse的包 
二、https://blog.csdn.net/beeman_xia/article/details/78118198

注意点:配置环境变量,我是直接把bin目录加到path里边

把 hadoop-common-2.2.0-bin-master 下的bin的 hadoop.dll 放到C:\Windows\System32 下,重启电脑 

虚拟机那边一定要设置好固定ip 固定ip设置


三、解决Exception: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z 等一系列问题

https://blog.csdn.net/congcong68/article/details/42043093

.Exception in thread "main"java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

  当我们解决了问题三时,在运行WordCount.java代码时,出现这样的问题

log4j:WARN No appenders could be found forlogger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).

log4j:WARN Please initialize the log4jsystem properly.

log4j:WARN Seehttp://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Exception in thread "main"java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

       atorg.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Native Method)

       atorg.apache.hadoop.io.nativeio.NativeIO$Windows.access(NativeIO.java:557)

       atorg.apache.hadoop.fs.FileUtil.canRead(FileUtil.java:977)

       atorg.apache.hadoop.util.DiskChecker.checkAccessByFileMethods(DiskChecker.java:187)

       atorg.apache.hadoop.util.DiskChecker.checkDirAccess(DiskChecker.java:174)

       atorg.apache.hadoop.util.DiskChecker.checkDir(DiskChecker.java:108)

       atorg.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.confChanged(LocalDirAllocator.java:285)

       atorg.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.getLocalPathForWrite(LocalDirAllocator.java:344)

       atorg.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:150)

       atorg.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:131)

       atorg.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:115)

       atorg.apache.hadoop.mapred.LocalDistributedCacheManager.setup(LocalDistributedCacheManager.java:131)

 分析:

    C:\Windows\System32下缺少hadoop.dll,把这个文件拷贝到C:\Windows\System32下面即可。

 解决:

    hadoop-common-2.2.0-bin-master下的bin的hadoop.dll放到C:\Windows\System32下,然后重启电脑,也许还没那么简单,还是出现这样的问题。

  我们在继续分析:

    我们在出现错误的的atorg.apache.hadoop.io.nativeio.NativeIO$Windows.access(NativeIO.java:557)我们来看这个类NativeIO的557行。

   Windows的唯一方法用于检查当前进程的请求,在给定的路径的访问权限,所以我们先给以能进行访问,我们自己先修改源代码,return true 时允许访问。我们下载对应hadoop源代码,hadoop-2.6.0-src.tar.gz解压,hadoop-2.6.0-src\hadoop-common-project\hadoop-common\src\main\java\org\apache\hadoop\io\nativeio下NativeIO.java 复制到对应的Eclipse的project,然后修改557行为return true如图所示:

  

--------------------- 

作者:zhengcongyi 

来源:CSDN 

原文:https://blog.csdn.net/congcong68/article/details/42043093 

版权声明:本文为博主原创文章,转载请附上博文链接!


Tag:
相关文章

发表评论: