org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0(Ljava/lang/String;I)V错误解决方案

最近实习了,公司做大数据的,要学hadoop,在公司自己把什么都弄好了,因为回来了想自学,

所以想自己虚拟机搭个伪分布式环境,然后自学用,一切都准备好后,eclipse下也已经安装了

hadoop的插件,wordCount也写好了,运行的时候就报了

org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMode0(Ljava/lang/String;I)V

错误,这都是上周末的事情了,然后我嫌烦没有解决,反正当时也不急用,这周继续解决问题,

耗了好久好久时间。

我的环境是

Win10 + hadoop2.7.3 + jdk1.8。

本来在公司使用eclipse写mapreduce程序的时候已经遇到这个问题,当时的确也通过把hadoop.dll

和winutils放到hadoop的bin目录下。然后问题解决了,但是在自己电脑上依然这样做,什么方法都

试了都不行。

 

hadoop.dll 和 winutils 以及 修改了NativeIO.java (网上常见的方法)全试了,依旧提示这个错误。

 

解决方案:

1.首先把对应版本的hadoop.dll 和 winutils放到hadoop安装目录的bin目录下。

因为后来版本的hadoop的确缺少了这两个文件。

2.环境变量的配置,这个不多说。

3.比如我写了一个wordcount,运行时一直报这个错误,把下面代码放到wordcount的驱动程序中。

static {
    try {
    	System.load("D:/Hadoop/hadoop-2.7.3/bin/hadoop.dll");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
}

意思就是让其强制加载bin目录下的hadoop.dll。然后运行程序问题就解决了。

4.把加入的代码删除即可,不再报错。

hadoop.dll ,winutils 以及 hadoop2.7.3的eclipse插件下载地址:

https://pan.baidu.com/s/1Lz0Ah2QklzgsNVnLXPRcYw

提取码:0yz8

以上方案亲测有效。

 

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值