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

          在搭建好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以前的版本区别。

  问题三

                      

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值