org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z的解决办法

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

注:该问题在mapreduce中可能遇到,本人就是这样的。

今天在学习MapReduce的时候,写好三个类之后

开始运行,结果爆出这个问题

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

第一次学习,首先想到的就是百度啊

所以,百度上给了两套方案:

方案一:

:拷贝 hadoop.dll 文件到 Windows 目录C:\Windows\System32。个别同学电脑还需要修改Hadoop 源码。(我没用这个,因为我没有找到这个下载链接,网上给的连接打不开,很难受啊)

方案二:创建如下包名,并将 NativeIO.java 拷贝到该包名下

方案二,具体步骤如下,本人就是这样解决的。      基本思路:和网上的一样:   修改NativeIo .java的源码。  (原理一样)

 

第一步:找到NativeIo.class 文件,如下图所示:

 

ctrl+A   全选一下   然后CTRL+C   复制下来

 

然后新建包 和 类  :

 

把刚才复制的文件Ctrl+V  粘贴在   我们新建的Native IO.java文件中去:

这个时候就要修改源码了,找到下面的地方,源文件应该是在609行

下面是新的NativeIO.java文件修改之后的

修改好之后  ,Ctrl+S 保存一下   

 

这个时候就大功告成了,  然后正常的运行  就可以了   

这是我运行的结果,是我想要的

然后就没有毛病了  哈哈哈

终于还是被解决了 

大数据才刚刚开始呢,还要加油的,年轻人!!!

 

 

猜你喜欢

转载自blog.csdn.net/qq_46634851/article/details/114018719