簡體   English   中英

Hadoop:如何使用Java應用程序寫入HDFS

[英]Hadoop: How to write to HDFS using a Java application

我是Hadoop的新手,正在嘗試學習。 我正在嘗試在Ubuntu Linux上的Eclipse中運行以下Hadoop示例代碼。 我具有Hadoop v 2.7.0,並且具有必需的jar。

    Configuration conf = new Configuration();
    conf.addResource(new Path("/usr/local/hadoop/conf/core-site.xml")); 
    Path pt=new Path("hdfs://localhost:9000/myhome/a.txt");
    FileSystem fs = FileSystem.get(conf);

當我在Eclipse中運行應用程序時, Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/util/PlatformName得到Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/util/PlatformName 我正在引用的hadoop-common-2.7.0.jar文件不包含應用程序正在尋找的類。 我引用的是jar文件Hadoop / common文件夾。

解決該問題的任何幫助將不勝感激。

如果我為上述代碼創建了該類的jar文件,並使用hadoop -jar <jar file> <class name>對其進行了運行,那么它將起作用。 因此,我想知道是否可以在不使用hadoop命令的情況下從Eclipse或命令行運行Hadoop Java應用程序。

看來JVM不會加載所有必需的Hadoop工件。

如果您是maven用戶,請確保您具有這些依賴項。

<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-client</artifactId>
    <version>${hadoop.client.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-common</artifactId>
    <version>${hadoop.client.version}</version>
</dependency>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM