用于 hadoop mapreduce 的罐子

Jars for hadoop mapreduce

我正在关注 Apache 提供的 this hadoop mapreduce tutorial。 Java 那里给出的代码使用了这些 Apache-hadoop 类:

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

但我不知道从哪里下载这些 Jar。在互联网上搜索这些 类 我可以看到它们可用 here

但是这些和 Jar 的 formal/authentic Apache 存储库是什么?

如果 jars 与 hadoop 一起运送,请告诉我路径。

编辑:其他问题没有给出明确的说明。 我找到的答案如下

This tutorial 提及:

Download Hadoop-core-1.2.1.jar, which is used to compile and execute the MapReduce program. Visit the following link http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-core/1.2.1 to download the jar.

所以这看起来是真实的存储库。

您正在学习的教程使用 Hadoop 1.0。这意味着您拥有的罐子和教程使用的罐子是不同的。如果您使用的是 Hadoop 2.X,请按照使用该版本的教程进行操作。您不需要从第三方下载 jar,您只需要知道正确使用该特定 hadoop 版本的 API 即可。

我使用 NetBeans 创建了一个新的 Maven 项目。

然后在项目文件下,我打开 pom.xml.

我在

里面添加
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-core</artifactId>
        <version>0.20.2</version>
    </dependency> 

在使用依赖项构建之后,我现在可以开始编码了。

This tutorial 提及:

Download Hadoop-core-1.2.1.jar, which is used to compile and execute the MapReduce program. Visit the following link http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-core/1.2.1 to download the jar.

所以here你可以找到不同版本的所有jar

在当前版本 2.7.1 中,我在 Missing artifact org.apache.hadoop:hadoop-mapreduce:jar:2.7.1 时遇到了麻烦,但发现这个 jar 似乎被分成了多个较小的 jar。

<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-common</artifactId>
    <version>2.7.1</version>
</dependency>

...为我工作(...不知道这是什么意思:https://repo1.maven.org/maven2/org/apache/hadoop/hadoop-mapreduce/2.7.1/

如果出现此类错误,只需在终端上键入命令:

导出 HADOOP_HOME=$(hadoop 类路径)

注意:您必须在 ./bashrc 文件中检查您自己的 hadoop 配置名称。 在安装 hadoop 时,我们在 .bashrc 文件中设置了 Hadoop 和 java 路径。 我们必须在这里检查 in below we can see that next to export .

最好的方法是下载 Hadoop (3.x.y) 并包含来自 hadoop-3.x.y/share/hadoop/mapreduce

的以下 jar

1. hadoop-common-3.x.y.jar 2. hadoop-mapreduce-client-core-3.x.y.jar

这对我有用!

尝试使用以下方式编译:
javac -cp $(hadoop classpath) MapRTest.java.
在大多数情况下,文件已经与下载的 hadoop 一起存在。有关详细信息,请查看 this.

javac -cp /usr/hdp/2.6.2.0-205/hadoop-mapreduce/:/usr/hdp/2.6.2.0-205/hadoop/: . MyTest.java

我在 CloudxLab 工作。