MapReduce打包jar包并运行的步骤操作以及重要的注意事项

时间:2024-05-19 07:28:39


————————————————————————————————————————

一、打包jar包以及上传的步骤

执行mapreduce程序时,我们常常需要按自己的需求去写mapreduce程序。eclipse是我们最常用的java编辑工具,一下就用eclipse为例。

在eclipse把mapreduce程序进行打包

第一步:选中mapreduce程序所在的项目,点击左上角File > Export
MapReduce打包jar包并运行的步骤操作以及重要的注意事项
第二步:弹出窗口中选中JAVA > JAR file,接着Next
MapReduce打包jar包并运行的步骤操作以及重要的注意事项
第三步:按图中顺序进行操作,其中第四步是JAR包的保存目录(上传JAR包时打开该目录选择JAR包即可)
MapReduce打包jar包并运行的步骤操作以及重要的注意事项
第四步:无需对窗口进行操作,直接Next下一步。
MapReduce打包jar包并运行的步骤操作以及重要的注意事项
第五步:选择Browse对MapReduce程序的主类名进行指定。
MapReduce打包jar包并运行的步骤操作以及重要的注意事项
最后选择OK,JAR包便保存到你自己指定的目录里了。
MapReduce打包jar包并运行的步骤操作以及重要的注意事项

通过Xshell把JAR包上传到linux

小白刚上手大多使用虚拟机进行操作,那就需要用Xshell连接到你需要进行操作的linux,并使用rz指令然后选择你保存jar包的目录上传你需要的jar包文件。

二、执行jar包的注意事项

一般情况下,按上述步骤即可对jar包进行打包。但是有了jar包后我就需要对它进行执行,执行过程有些地方的细节容易被忽略掉,以下就讨论其中两个重要的操作细节。(java编辑器还是以eclipse为例)

出现jdk版本异常的问题

情况描述

:在执行jar包程序时,出现如下图的jdk版本异常;
MapReduce打包jar包并运行的步骤操作以及重要的注意事项

原因

linux环境下的jdk版本与eclipse所用来打包jar包的jdk版本不兼容。譬如:eclipse下用jdk11进行打包,而linux下用的是jdk1.8;这样jdk高低版本不兼容的情况下就会导致jdk版本异常。

解决办法

既然jdk版不兼容,那就把jdk的版本调到兼容了就可以了。

  1. 查看linux环境下的jdk版本,把eclipse下调为linux下可以兼容的版本,一般就是高版本兼容低版本的。那么,我们要怎么怎么换eclipse的jdk版本呢?步骤如下:
    选中jar包所在的项目文件,然后右击选择最后一个properties,接着按下图顺序进行操作即可;
    MapReduce打包jar包并运行的步骤操作以及重要的注意事项

  2. 假如不按上面那个解决办法的话,就换一种思路来解决。我们把linux环境下的jdk版本调到和eclipse所用的jdk版本兼容即可,这样就需要重装jdk了,较上述办法略麻烦。本人建议用第一种较为方便快捷!

执行jar包命令主类名问题

问题描述

把刚刚重写过的wordcount程序打包并执行程序,却出现如下图执行异常,正确键入命令后却发现系统没有和你想象的套路出牌。
MapReduce打包jar包并运行的步骤操作以及重要的注意事项

原因一及解决办法

在不同开发环境下,命令执行也略有差别,但一般情况就是图片里的命令操作,特殊情况就换一下命令即可,就是中间那个WordCount命令写为jar包项目文件名.包名.主类名。如下:
MapReduce打包jar包并运行的步骤操作以及重要的注意事项
那么,命令行输入则为:
MapReduce打包jar包并运行的步骤操作以及重要的注意事项

原因二及解决办法

倘若按照第一种办法还是下面这种情况:MapReduce打包jar包并运行的步骤操作以及重要的注意事项
那我就跟大家说说一个很重要的原因了,回到上面打包jar包步骤的第五步,在那里假如我们指定了jar包程序的主类名时,那么在命令行里就无需再一次指定主类名了,所以主类名这个命令就可以省略掉了,如下图:
MapReduce打包jar包并运行的步骤操作以及重要的注意事项
这样就执行成功了!!!那么去查看输出结果吧。

如有错望请指正!
-----------END-------------
progammer:柘月十七