[解决]Hadoop 2.4.1 UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0

本文解决了在Win7 64位系统上使用Hadoop 2.4.1时遇到的UnsatisfiedLinkError问题,详细介绍了如何正确配置环境变量及JDK路径以确保Hadoop DLL能够被成功加载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



问题:UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0

我的系统 win7 64位

Hadoop 2.4.1

已经放入Github 的 hadoop common bin

jdk 是64位的




问题依旧

UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0




这个问题 花我一晚上以及一上午

系统的环境变量 设置了HADOOP_HOME

而且还设置了PATH=%HADOOP_HOME%\bin

还是不对


那么经过一晚上的baidu Google 只说了上面的问题,而提到最多的是hadoop.dll,那么我就强制加载hadoop.dll看看


在代码的Class中加入


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

强制性加载一下hadoop.dll


结果出现



java.lang.UnsatisfiedLinkError: D:\hadoop-2.4.1\bin\hadoop.dll: Can't load AMD 64-bit .dll on a IA 3



那么我看到 Eclipse的console

<terminated>WordCount [Java Application] C:\Program Files (x86)\Java\jdk1.7.0_45\bin\javaw.exe

于是立马去改Eclipse的JDK : Windows - Preference - Java - Installed JREs- 然后在右边 添加你的64位的 JDK的路径。

然后 确保勾选 64位的JDK


然后就可以去掉这段代码,就能正常加载Hadoop.dll




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值