0

我正在尝试运行此处找到的示例: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;

Hadoop 1.0.4 已安装并且工作正常。我看过的每个处理 hdfs 的教程都只是从我之前提供的链接中的一个程序开始,他们没有谈论我需要的任何特殊先决条件。所以我想知道我需要做什么才能编译?我假设我需要编辑我的类路径以指向适当的包,但我不知道它们的位置。

此外,我按照此处的说明在单节点集群上运行 Ubuntu 12.04、Hadoop 1.0.4:http: //www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-簇/

4

1 回答 1

1

我建议您复习一些基本的 java 编译基础知识。

您需要做的不仅仅是javac HDFSExample.java- 您需要在类路径中包含一些依赖项 jar。更像的东西javac -cp hadoop-core-1.0.4.jar HDFSExample.java

就个人而言,我建议考虑使用构建工具(例如 Maven、Ant)或 IDE,因为当您开始将代码组织成包并依赖多个外部库时,这会让事情变得不那么痛苦。

编辑:例如,maven配置很简单(好吧,我不包括其他一些样板pom decalarations..):

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

然后编译成一个jar:

#> mvn jar
于 2012-12-04T00:21:28.543 回答