java.io.IOException:Could not locate executable null\bin\winutils.exe in the Hadoop binaries
2018-01-04 16:22
603 查看
查看hadoop源码发现有一段:
public static final String getQualifiedBinPath(String executable)
throws IOException {
// construct hadoop bin path to the specified executable
String fullExeName = HADOOP_HOME_DIR + File.separator + "bin"
+ File.separator + executable;
File exeFile = new File(fullExeName);
if (!exeFile.exists()) {
throw new IOException("Could not locate executable " + fullExeName
+ " in the Hadoop binaries.");
}
return exeFile.getCanonicalPath();
}
private static String HADOOP_HOME_DIR = checkHadoopHome();
private static String checkHadoopHome() {
// first check the Dflag hadoop.home.dir with JVM scope
String home = System.getProperty("hadoop.home.dir");
// fall back to the system/user-global env variable
if (home == null) {
home = System.getenv("HADOOP_HOME");
}
...
}很明显应该是HADOOP_HOME的问题。如果HADOOP_HOME为空,必然fullExeName为null\bin\winutils\exe。解决方法很简单,配置环境变量,不想重启电脑可以在程序里加上:
System.setProperty("hadoop.home.dir", "E:\\Program Files\\hadoop-2.7.0");
然后,去github下载一个winutils.exe
https://github.com/srccodes/hadoop-common-2.2.0-bin
public static final String getQualifiedBinPath(String executable)
throws IOException {
// construct hadoop bin path to the specified executable
String fullExeName = HADOOP_HOME_DIR + File.separator + "bin"
+ File.separator + executable;
File exeFile = new File(fullExeName);
if (!exeFile.exists()) {
throw new IOException("Could not locate executable " + fullExeName
+ " in the Hadoop binaries.");
}
return exeFile.getCanonicalPath();
}
private static String HADOOP_HOME_DIR = checkHadoopHome();
private static String checkHadoopHome() {
// first check the Dflag hadoop.home.dir with JVM scope
String home = System.getProperty("hadoop.home.dir");
// fall back to the system/user-global env variable
if (home == null) {
home = System.getenv("HADOOP_HOME");
}
...
}很明显应该是HADOOP_HOME的问题。如果HADOOP_HOME为空,必然fullExeName为null\bin\winutils\exe。解决方法很简单,配置环境变量,不想重启电脑可以在程序里加上:
System.setProperty("hadoop.home.dir", "E:\\Program Files\\hadoop-2.7.0");
然后,去github下载一个winutils.exe
https://github.com/srccodes/hadoop-common-2.2.0-bin
相关文章推荐
- java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries
- java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries
- java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
- java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries
- java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
- java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries
- java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries
- java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
- windows 中使用hbase 异常:java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
- java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
- java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
- java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries
- java.io.IOException: Could not locate executablenull\bin\winutils.exe in the Hadoop binaries
- java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
- java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries
- java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries
- java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
- java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
- win10中编译hadoop java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop
- Hbase中(java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binarie)