线程“main”中的exceptionjava.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO $ Windows.access0(Ljava / lang / String; I)Z

在运行上述exception时,尝试在eclipse中的Windows 7 64位中运行MR程序版本(2.7)。 我validation了使用64位1.8 java版本并观察到所有hadoop守护进程都在运行。

任何建议高度赞赏

这个问题发生在我身上,原因是我忘了在我的环境变量中将%HADOOP_HOME%/bin附加到PATH

我的PATH已经有%HADOOP_HOME%/bin ,我的代码以前运行时没有错误。 重新启动我的机器使它再次工作。

在“运行/调试配置”下的Intellij中,打开要运行的应用程序,在“配置”选项卡下,指定准确工作的Directory.having表示工作目录的变量也会产生此问题。 当我在配置下更改工作目录时,它又开始工作了。

除了其他解决方案,请下载winutil.exehadoop.dll并添加到$ HADOOP_HOME / bin。 这个对我有用。

https://github.com/steveloughran/winutils/tree/master/hadoop-2.7.1/bin

注意:我使用的是hadoop-2.7.3版本 在此处输入图像描述

在此处输入图像描述 在此处输入图像描述

对我来说,通过从https://github.com/steveloughran/winutils/tree/master/hadoop-2.7.1/bin下载winutils.exe和hadoop.dll并将它们放在hadoop / bin文件夹中解决了这个问题