hdfs java api导入问题

2vuwiymt  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(321)

我尝试运行以下示例:http://thysmichels.com/2012/01/31/java-based-hdfs-api-tutorial/
但是当我去编译java程序时,我得到了错误,比如说包不存在。

error: package org.apache.hadoop.conf does not exist
import org.apache.hadoop.conf.Configuration;

hadoop1.0.4已经安装并运行良好。我看过的每个关于处理hdfs的教程都是从一个程序开始的,就像我之前提供的链接一样,它们没有讨论我需要的任何特殊的prereq。所以我想知道我需要做什么来编译这个?我假设我需要编辑我的类路径来指向适当的包,但是我不知道这些包在哪里。
我还在单节点集群上运行Ubuntu12.04和Hadoop1.0.4,如下所示:http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/

irtuqstp

irtuqstp1#

我建议您温习一些基本的java编译基础知识。
你需要做的不仅仅是 javac HDFSExample.java -因为您需要在类路径上包含一些依赖jar。更像是 javac -cp hadoop-core-1.0.4.jar HDFSExample.java 就我个人而言,我建议您考虑使用构建工具(如maven、ant)或ide,因为当您开始将代码组织到包中并依赖于多个外部库时,这将使事情变得不那么痛苦。
编辑:例如,maven配置非常简单(好的,我不包括其他一些锅炉板pom贴花..):

<dependencies>
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-core</artifactId>
        <version>1.0.4</version>
        <scope>provided</scope>
    </dependency>
<dependency>

然后编译成jar:


# > mvn jar

相关问题