2014-11-03 105 views
5

首先,我知道此前已被问过,但没有解决方案为我工作,我想知道为什么。软件包org.apache.hadoop.fs不存在

我想编译标准'WordCount.java'.jar为我的linux单节点集群上的hadoop,但不断得到package org.apache.hadoop.* does not exist错误。

我知道我必须编辑$ CLASSPATH,但是我在网上找到的所有东西都说引用hadoop-core,我在我的版本(2.4.0)的任何地方找不到hadoop-core。我如何找到org.apache.hadoop。*在我的系统上存在的位置?

我觉得这将是一个很好的'一般'的答案,因为我已经看到这个问题的许多问题,每个人都给出了具体的/路径/到/ classpath /,但它(显然)不同,取决于版本和构建hadoop 。

+0

你下载了Apache Commons库吗?什么解决方案不适合你? – apesa 2014-11-03 22:00:24

回答

17

如您所说,您需要的CLASSPATH取决于版本,位置和安装类型。如何安装它是一个单独的讨论,但假设你安装了适当的hadoop设置,这很容易(虽然我承认,我不知道它在哪里被记录)。

Hadoop提供了一个方便的实用程序来获取您需要的CLASSPATH信息。运行这个

bin/hadoop classpath 

这应该给你你需要的信息设置你的类路径来编译你的代码。

+1

谢谢!希望这会帮助任何遇到麻烦的人。我正在阅读的所有内容都提供了有关文件位置的具体说明,但无论安装方式如何,此解决方案都可以帮助用户! – drjrm3 2014-11-03 22:06:51

+1

我们应该在哪里运行这个命令? – 2016-09-24 21:53:41

+0

@VineetKaushik假设你已经在系统中正确配置了hadoop,打开一个终端窗口并输入'hadoop classpath',它应该输出hadoop有它的库的正确目录。 – 2016-10-14 15:45:41

相关问题