UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z!!

错误:
java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

如果在执行hadoop项目时出现此处问题,主要有三个方法:
方法一:
在hadoop的安装目录下:E:\hadoop\hadoop260\bin,增加两个文件winutils.exe和hadoop.dll,然后重新执行即可。

方法二:
方法一如果解决不了问题,那也有可能是你hadoop没有配置完全,需要增添一个解压包:hadoop-native-64-2.6.0.tar解压到:E:\hadoop\hadoop260**\lib\native**下,然后从新执行。

方法三:
若还没有解决,那就只有动用最终最有效的一个办法了,更改环境配置,不过担心,过程并不复杂,简单更改基础就行。
① 首先,检查hadoop的环境变量是否配置成功,要配置成如图所示的样子
UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z!!
UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z!!
配置完成,在dos下(快捷键ctrl+R,cmd进入)hadoop version检查hadoop配置是否成功。
更改完成,再次执行(尝试),不成功则继续更改如下配置。

② 在hadoop的安装目录:E:\hadoop\hadoop260\etc\hadoop下找到
hadoop-env.cmd,进入更改如下图所示配置
(更改此项配置,主要是你在配置jdk时给了ClassPath,以及JAVA_HOME,所以配置HADOOP_HOME时会产生冲突,或者program file无法读取,需要提供全路径)
Progra~1,是Linux里的progame file的缩写,这样写可以解决progame file中间有空格,导致无法解析的问题

UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z!!
更改完,再次尝试,仍不能成功,那么只能更改另一个目录下E:\hadoop\hadoop260\src\hadoop-common-project\hadoop-common\src\main\conf的
hadoop-env.cmd,做如图所示配置
UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z!!
全路径更改完成,最后尝试一次,希望到此,你的问题已经解决了。