java - 单词 “hdfs”中的错字给我: “java.io.IOException: No FileSystem for scheme: hdfs”。在hadoop 2.7.7上使用FileSystem lib

标签 java maven hadoop hdfs

使用FileSystem.get(URI.create("hdfs://localhost:9000/"), configuration)时,出现错误“单词hdfs中的拼写错误”,当我尝试运行该代码时,出现IOException:

    java.io.IOException: No FileSystem for scheme: hdfs
at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2658)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2665)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:93)
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2701)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2683)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:372)
at com.oracle.hadoop.client.Test.main(Test.java:53)

我已经尝试过以不同的方式使用对hdfs的调用,我正在使用hadoop 2.7.7的库。

这是我当前的代码:
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import org.apache.log4j.BasicConfigurator;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;

public class Test {

 public static void main(String []args) {
    Configuration conf = new Configuration();
    InputStream in = null;

    try {
        FileSystem fs = FileSystem.get(URI.create("hdfs://localhost:9000/"), conf);
        in = fs.open(new Path(uri));
        IOUtils.copyBytes(in, System.out, 4096, false);
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        IOUtils.closeStream(in);
    }  
   }

最佳答案

实际上,我只是添加了这个Maven依赖项:http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-hdfs/2.7.7Maven pom.xml并解决了问题。

关于java - 单词 “hdfs”中的错字给我: “java.io.IOException: No FileSystem for scheme: hdfs”。在hadoop 2.7.7上使用FileSystem lib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54655045/

相关文章:

maven - 在pom.xml中找到ID为default的重复执行

eclipse - 排除 Eclipse IDE 中与 JUnit 4 的集成测试

sql - 使用生日的年龄组计数

hadoop - 为什么hadoop计数器中的map输出记录和reduce输入记录不同?

java - Java EE 中的长期线程

java - 如何以编程方式读取 log4j 2 配置?

java - NoSuchMethodError : com. google.common.base.Preconditions.checkArgument(ZLjava/lang/String;J)V

hadoop - 命令 'ZkStartPreservingDatastore' 服务 'zookeeper1' 失败

java 扫描坐标为 (X, Y) 格式

java - 找不到参数的方法实现() [DefaultExternalModuleDependency{group ='com.google.firebase' ,