Eclipse上调试Hadoop2代码的常见问题处理方法

    xiaoxiao2026-03-29  7

              在搭建好hadoop环境调试编写第一个wordCount程序会出现一下常见的问题   

    问题 一     

     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:558)

     解决方法

                   1 下载hadoop对应版本的源码 

                   2 在src目录下创建org.apache.hadoop.io.nativeio 即与源码中NativeIO.java 所在的包名一样即可

                  3 找到源码中的NativeIO.java 类 将其放在新建的org.apache.hadoop.io.nativeio 目录下

                  4 打开NativeIO.java  类找到557 行 将return access0(path, desiredAccess.accessRight());  注释掉加上return                 true 即可。

                 这样处理之后控制台将无法看到返回的信息,不过程序可以正常执行。目前还没发现更好的解决方法。

     问题 二

                     java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries. 

      解决方法

                   1  在系统中新建HADOOP_HOMA="E:\hadoop\hadoop-2.6.3";  与新建java_home 环境变量一样 ,我的Hadoop 在window的安装路径是E:\hadoop\hadoop-2.6.3   

                   2  在系统环境变量的Path中加入E:\hadoop\hadoop-2.6.3\bin   整个过程与安装jdk 类似。

                  3下载https://codeload.github.com/srccodes/hadoop-common-2.2.0-bin/zip/master下载hadoop-common-2.2.0-bin-master.zip 

                     4解压hadoop-common-2.2.0-bin-master.zip   用其目录下的bin文件中的文件去替换自己(E:\hadoop\hadoop-2.6.3\bin) 下的文件注意hadoop.dll 有2.0以后的版本和2.0以前的版本区别。

      问题三

                          

    转载请注明原文地址: https://ju.6miu.com/read-1308307.html
    最新回复(0)