在我们平时运行MapRuducer代码中,往往更倾向于直接在eclipse中直接运行,而在很多业务生产过程中,需要我们以jar包的形式在集群中运行。所以,今天笔者就讲解一下如何打jar包来运行程序。
以一个小的案例来进行说明。
MapReducer实现WordCount
其中的代码笔者就不赘述了,在后面的学习博客中,笔者会详细讲代码分享出来,这里只是讲解如何打jar包:
1.选择对应的代码包
2.点击鼠标右键,选择Export
3.在输入框输入jar,再选择java包下的JAR file
4.点击Next
5.进行如下操作
下面有两种选择,一个是直接Finish,另一个是继续点击Next
**
(1)直接点击Finish,在你自己的导出路径中查找,会找到一个对应的jar包
**
将jar传输到hadoop 集群中去(这个过程笔者就不做讲解了)
在hadoop 集群中运行jar包
【主函数的全限定名如何写】
找到代码的主函数,然后右键点击主函数名,选择Copy Qualified Name。
**
(2)如果选择第二种导jar包的方式,点击"Next",会出现以下界面,继续点击Next
**
点击Browse:
点击Driver
最后出现以下界面,点击Finish,根据自己的导出路径寻找相对应的jar包:
在hadoop 集群中运行jar包:
【两种方式的区别】
第一种方式直接导出jar包,没有将主函数规定出来,所以在hadoop中运行jar包的时候,需要在后面指定主函数的全限定名称。
而第二种方式在导出之前先行规定了主函数,所以在hadoop中运行的时候不需要再制定主函数了。