jar包形式运行MapReducer代码

在我们平时运行MapRuducer代码中,往往更倾向于直接在eclipse中直接运行,而在很多业务生产过程中,需要我们以jar包的形式在集群中运行。所以,今天笔者就讲解一下如何打jar包来运行程序。

以一个小的案例来进行说明。

MapReducer实现WordCount

其中的代码笔者就不赘述了,在后面的学习博客中,笔者会详细讲代码分享出来,这里只是讲解如何打jar包:

1.选择对应的代码包
jar包形式运行MapReducer代码
2.点击鼠标右键,选择Export
jar包形式运行MapReducer代码
3.在输入框输入jar,再选择java包下的JAR file
jar包形式运行MapReducer代码
4.点击Next
jar包形式运行MapReducer代码
5.进行如下操作
jar包形式运行MapReducer代码
下面有两种选择,一个是直接Finish,另一个是继续点击Next
**

(1)直接点击Finish,在你自己的导出路径中查找,会找到一个对应的jar包

**
jar包形式运行MapReducer代码
将jar传输到hadoop 集群中去(这个过程笔者就不做讲解
了)
在hadoop 集群中运行jar包
jar包形式运行MapReducer代码
【主函数的全限定名如何写】
找到代码的主函数,然后右键点击主函数名,选择Copy Qualified Name。

**

(2)如果选择第二种导jar包的方式,点击"Next",会出现以下界面,继续点击Next

**
jar包形式运行MapReducer代码点击Browse:

jar包形式运行MapReducer代码点击Driver

jar包形式运行MapReducer代码
最后出现以下界面,点击Finish,根据自己的导出路径寻找相对应的jar包:
jar包形式运行MapReducer代码在hadoop 集群中运行jar包:
jar包形式运行MapReducer代码

【两种方式的区别】

第一种方式直接导出jar包,没有将主函数规定出来,所以在hadoop中运行jar包的时候,需要在后面指定主函数的全限定名称。

而第二种方式在导出之前先行规定了主函数,所以在hadoop中运行的时候不需要再制定主函数了。