Class org.apache.hadoop.hdfs.DistributedFileSystem not found

时间:2024-03-20 22:01:54

用最新版本的Hadoop遇到的坑!

原因是:Class org.apache.hadoop.hdfs.DistributedFileSystem由原本的hadoop-hdfs.2.7.1.jar中迁移到了hadoop-hdfs-client-3.1.1.jar 或更高版本

Class org.apache.hadoop.hdfs.DistributedFileSystem not found
解决方法一:加载hadoop-hdfs-client-3.1.1.jar
参考:此博客

如果方法一不成功

解决方法二:
把hdfs下的其他jar包都添加进去
Class org.apache.hadoop.hdfs.DistributedFileSystem not found

总结:
为了编写一个能够与HDFS交互的Java应用程序,一般需要向Java工程中添加以下JAR包:
对于hadoop3.x版本:
(1)”/usr/local/hadoop/share/hadoop/common”目录下的hadoop-common-3.x.jar和haoop-nfs-3.x.jar;
(2)/usr/local/hadoop/share/hadoop/common/lib”目录下的所有JAR包;
(3)“/usr/local/hadoop/share/hadoop/hdfs”目录下的所有JAR包
(4)“/usr/local/hadoop/share/hadoop/hdfs/lib”目录下的所有JAR包。