在做Hadoop的Demo时,明明逻辑代码都没有问题,把项目拷贝到其它电脑上完全可以运行正确,唯独自己电脑不行,计算机明明是很科学的东西却被自己弄成玄学,这是什么原因?今天一个师弟来找我解决这个问题,当初本楼主为这个问题耽误了好久,今天就好好来整理一下这个坑吧!
忠告:不管系统是多少位,库和eclipse都要和JDK的位数统一。同时建议在linux下使用hadoop。
首先这个不是代码问题,而是系统问题不知道情有可原,我们先进入安装Hadoop文件中的bin目录下的winutils.exe文件,运行报错所以程序退出,项目则运行错误。
错误:Exception in thread “main”java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.acc
解决方案 (一):
这表示系统查找不到hadoop.dll这个文件,这个时候去到电脑的:C:\Windows\System32 文件中下查看是否有hadoop.dll这个文件,没有就去我们安装的Hadoop文件下找到的bin目录中的 hadoop.dll 拷贝至C:\Windows\System32 就可以运行了,这个问题发生的几率很大,也很好解决。
下面就是重点了!!!
解决方案(二):
如上处的步骤依次执行完毕后,再次运行此项目仍然检索不到hadoop.dll并且尝试运行Hadoop中bin目录winutils.exe报错,但是不要慌,我们冷静下,去自已加载一下这个动态库,查看JDK是否一致,
而后,解决后如果还是报错,则去一下网站解决这个问题 DirectX修复,又或者你可以直接下载