在windows连接HDFS集群报错如下:
2021-05-11 16:26:52,523 ERROR [org.apache.hadoop.util.Shell] - 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.
at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:356)
at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:371)
at org.apache.hadoop.util.Shell.(Shell.java:364)
at org.apache.hadoop.util.StringUtils.(StringUtils.java:80)
at org.apache.hadoop.conf.Configuration.getBoolean(Configuration.java:1437)
at org.apache.hadoop.hbase.HBaseConfiguration.checkDefaultsVersion(HBaseConfiguration.java:67)
at org.apache.hadoop.hbase.HBaseConfiguration.addHbaseResources(HBaseConfiguration.java:81)
at org.apache.hadoop.hbase.HBaseConfiguration.create(HBaseConfiguration.java:96)
at com.chen.hbase.HbaseTest.main(HbaseTest.java:14)

尝试用网上查到的方法,下载hadoop并配置HADOOP_HOME


并且在目录下也存在winutils.exe

完成上述修改之后,运行时仍然会报错
后续解决思路:
在代码中指定HADOOP_HOME的位置,再次运行,正常了

本文解决了在Windows环境下使用Hadoop连接HDFS集群时遇到的错误。主要问题是未能找到winutils.exe,即使已经安装了Hadoop并配置了HADOOP_HOME环境变量。最终通过在代码中明确指定HADOOP_HOME路径解决了问题。
903

被折叠的 条评论
为什么被折叠?



