作者:逆天子_1968n_6 | 来源:互联网 | 2023-05-16 11:53
报错:Exceptioninthreadmainjava.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.Nativ
报错:Exception inthread "main" java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
解决: C:\Windows\System32下缺少hadoop.dll,(hadoop-3.0.0\bin目录下)把这个文件拷贝到C:\Windows\System32下面,重启电脑。
继续报错:
Exception in thread "main"java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
atorg.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Native Method)
atorg.apache.hadoop.io.nativeio.NativeIO$Windows.access(NativeIO.java:606)
解决:Windows的唯一方法用于检查当前进程的请求,在给定的路径的访问权限,所以我们先给以能进行访问,我们自己先修改源代码,return true 时允许访问。我们下载对应hadoop源代码,hadoop-3.0.0-src.tar 解压,hadoop-3.0.0-src\hadoop-3.0.0-src\hadoop-common-project\hadoop-common\src\main\java\org\apache\hadoop\io\nativeio下NativeIO.java复制到对应的Eclipse的project,然后修改608行为return true如图所示:
报错:Permission denied: user=administrator, access=WRITE, inode="/":navy:supergroup:drwxr-xr-x
很显然是是 用户Administator在hadoop上执行写操作时被权限系统拒绝.
修改 hadoop fs -chmod 777 / 即可