java.lang.UnsatisfiedLinkError
- 详细错误
java.lang.UnsatisfiedLinkError:
org.apache.hadoop.io.nativeio.NativeIO$Windows.createFileWithMode0(Ljava/lang/String;JJJI)Ljava/io/FileDescriptor;
- 出现场景:在测试HDFS 的 copyToLocalFile API 时出现的该错误
- 解决方案:
- 从 https://github.com/steveloughran/winutils/ 项目下载对应版本的 hadoop.dll 文件,我使用的 Hadoop 版本是 hadoop2.6.0-CDH5.15.1,使用的是 2.7.1 的版本的dll文件
- 该文件放在 C:\Windows\System32 目录下,再次运行程序即可
- 从 https://github.com/steveloughran/winutils/ 项目下载对应版本的 hadoop.dll 文件,我使用的 Hadoop 版本是 hadoop2.6.0-CDH5.15.1,使用的是 2.7.1 的版本的dll文件
Failed to locate the winutils binary in the hadoop binary path
- 详细错误
Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
- 出现场景:在运行MR程序中出现了该错误
- 解决方案:
- 从 https://github.com/steveloughran/winutils/ 项目下载对应版本的 winutils.exe 文件
- 在本地磁盘新建 x://xxx/bin 目录,将 winutils.exe 文件放在该目录下
- 配置环境变量,新建 HADOOP_HOME 为 x://xxx/,在 PATH 中指定 %HADOOP_HOME%/bin
- 从 https://github.com/steveloughran/winutils/ 项目下载对应版本的 winutils.exe 文件
- 重启 IDEA,再次执行程序即可