在Windows10远程开发Hadoop2.6.0版本时遇到了这个错误,本地电脑已经配置基本的要求(Hadoop环境变量配置,winutils.exe文件放入bin目录下),网上的方案很多都是通过在Windows 的System32文件夹下放置hadoop.dll文件,放置后重启电脑运行仍然报错。最后的解决方案是下载hadoop2.7的hadoop.dll文件和对应的winutils.exe文件放入System32文件下和本地Hadoop文件的bin目录下重新启动电脑即可。
另外在代码中可以使用强制加载的方式加载.dll文件
static {
try {
System.load("C:\file\hadoop2.7.6\bin\hadoop.dll"); //hadoop.dll文件地址
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load.
" + e);
System.exit(1);
}
}
如果该问题解决后报错权限问题 可以在代码初始化中加入System.setProperty("HADOOP_USER_NAME",“你的用户名”)来解决权限问题。