【转载】解决No FileSystem for scheme: hdfs问题
时间: 2023-08-04 09:09:32 浏览: 136
您好,针对"No FileSystem for scheme: hdfs"问题,通常是因为缺少Hadoop配置或者没有正确设置Hadoop的classpath所导致的。
以下是可能的解决方案:
1. 确保Hadoop已经正确安装并配置好了环境变量和classpath。可以在终端中输入hadoop version来检查Hadoop的版本信息是否正确。
2. 检查你的代码中是否存在以下代码片段:
```
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf);
```
如果存在,可以尝试将它们替换为:
```
Configuration conf = new Configuration();
conf.set("fs.hdfs.impl", org.apache.hadoop.hdfs.DistributedFileSystem.class.getName());
conf.set("fs.file.impl", org.apache.hadoop.fs.LocalFileSystem.class.getName());
FileSystem fs = FileSystem.get(conf);
```
这样可以确保Hadoop的FileSystem实现类被正确地加载。
3. 检查你的pom.xml或build.gradle是否正确地引用了Hadoop的依赖。例如,在pom.xml中,你应该添加以下依赖:
```
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>{your_hadoop_version}</version>
</dependency>
```
在build.gradle中,你应该添加以下依赖:
```
compile group: 'org.apache.hadoop', name: 'hadoop-hdfs', version: '{your_hadoop_version}'
```
注意:将"{your_hadoop_version}"替换为你实际使用的Hadoop版本号。
希望以上解决方案可以帮助到您。
阅读全文