2015-12-22 44 views
1

我想上传文件到HDFS。我用下面的罐子作为依赖编译我的代码:No fileSystem for scheme:hdfs and Class org.apache.hadoop.DistributedFileSystem not found

  • Hadoop的AUTH-2.6.1.jar,
  • Hadoop的共2.6.1.jar和
  • Hadoop的HDFS-2.6.1。罐子,

我的代码:

enter image description here

我用Ant编译它。但是,它给了我这个错误:No FileSystem for scheme:hdfs

然后,我改变了代码,并再次编译: enter image description here

但现在我得到了另一个错误:Class org.apache.hdfs.DistributedFileSystem not found

怎么了?我该怎么做?

回答

1

DistributedFileSystemhadoop-core的一部分。

为了解决这个问题,你需要包括hadoop-core-1.2.1.jar也(注:我使用Maven建筑):

<dependency> 
    <groupId>org.apache.hadoop</groupId> 
    <artifactId>hadoop-core</artifactId> 
    <version>1.2.1</version> 
</dependency> 

总之,我使用以下Maven的依赖关系:

<dependency> 
    <groupId>org.apache.hadoop</groupId> 
    <artifactId>hadoop-common</artifactId> 
    <version>2.7.1</version> 
</dependency> 

<dependency> 
    <groupId>org.apache.hadoop</groupId> 
    <artifactId>hadoop-mapreduce-client-core</artifactId> 
    <version>2.7.1</version> 
</dependency> 

<dependency> 
    <groupId>org.apache.hadoop</groupId> 
    <artifactId>hadoop-core</artifactId> 
    <version>1.2.1</version> 
</dependency> 
+0

谢谢,我通过使用httpFS + webHDFS解决了这个问题。 – Xiyangyang