在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.\n" + e);
System.exit(1);
}
}
如果該問題解決后報錯權限問題 可以在代碼初始化中加入System.setProperty("HADOOP_USER_NAME",“你的用戶名”)來解決權限問題。