报错内容:
java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectoryWithMo初学hadooop, windows环境运行wordcount程序报错-org.apache.hadoop.io.nativeio.NativeIO$Windows.createDirectory
本人环境:
windows10
hadoop version :2.7.2
java -version:1.8.0_251

解决方法:
经过查找资料,先说说我报错的原因:
E:\bigdata\hadoop-2.7.2\bin
C:\Windows\System32
我以上两个目录的hadoop.dll不一致,两个文件的时间不一样(因为我之前装过hadoop,后来重新装了硬盘…欲哭无泪)

大家的排查方法:
(1)hadoop和java环境大家应该都没啥问题
(2)接下来检查hadoop的bin目录,检查否有hadoop.dll 和 winutils.exe 这两个文件
(3)C: windows\System32 里是否有hadoop.dll 文件 (有的话看两个时间一样不,不一样就把这里的删掉,把bin目录下的copy过来,不行重启电脑看看)

这里有一个方法可以检验是不是hadoop.dll的问题:
在你的driver类中加下面代码,如果可以执行就说明是hadoop.dll的问题
static {
try {
System.load(“E:\bigdata\hadoop-2.7.2\bin\hadoop.dll”);
} catch (UnsatisfiedLinkError e) {
System.err.println(“Native code library failed to load.\n” + e);
System.exit(1);
}
}

如果还没解决,大家可以留言一起讨论解决方案,感谢!!!

相关文章:

  • 2021-09-03
  • 2021-12-06
  • 2022-02-24
  • 2021-09-03
  • 2021-07-29
  • 2021-12-23
  • 2021-09-28
  • 2021-08-16
猜你喜欢
  • 2021-07-25
  • 2021-05-04
  • 2022-01-13
  • 2021-12-02
  • 2022-12-23
  • 2021-12-08
  • 2022-12-23
相关资源
相似解决方案