我正在关注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;
但我无法理解从哪里下载这些罐子。在互联网上搜索这些课程时,我发现他们可以使用here。
但是这些和Jars的正式/可靠的Apache存储库是什么?
如果罐子与hadoop一起发货,请告诉我路径。
编辑:其他问题没有给出明确的指示。我发现答案如下
下载Hadoop-core-1.2.1.jar,用于编译和执行MapReduce程序。请访问以下链接http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-core/1.2.1下载jar。
所以这看起来真实的存储库
下载Hadoop-core-1.2.1.jar,用于编译和执行MapReduce程序。请访问以下链接http://mvnrepository.com/artifact/org.apache.hadoop/hadoop-core/1.2.1下载jar。
所以here你可以找到不同版本的所有罐子
您正在使用的教程使用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>
在使用依赖项构建之后,我现在可以编写代码了。
在目前的版本2.7.1中,我在Missing artifact org.apache.hadoop:hadoop-mapreduce:jar:2.7.1
磕磕绊绊,但发现这个罐子似乎被分成了各种较小的罐子。
<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/)
如果你遇到这种类型的错误,那么只需在终端上输入命令:
export HADOOP_HOME = $(hadoop classath)
注意:您必须在./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
的以下罐子
1. hadoop-common-3.x.y.jar
2. hadoop-mapreduce-client-core-3.x.y.jar
这对我有用!
尝试编译使用:
javac -cp $(hadoop classpath) MapRTest.java
。
在大多数情况下,文件已经与下载的hadoop一起出现。有关更多信息,请查看this。