本地测试后,把jar包打包到集群上运行。

一. 测试成功的案例

A.首先路径一定不要写本地的,应该试args[n]格式

 

        //配置输入数据的路径
        FileInputFormat.setInputPaths(job, new Path(args[0]));
      
        //配置输出的路径
        FileOutputFormat.setOutputPath(job, new Path(args[1]));

 

B.开始进行maven先进行clean然后在package

 

本地测试后,把jar包打包到集群上运行。_第1张图片

 

 

C.生成的jar包在windows上,然后上传集群

 

本地测试后,把jar包打包到集群上运行。_第2张图片

 

D.在hadoop目录下,建个myjar目录,所有打包的jar包上传。

 

 

F.开始测试,但是测试的数据都是,已经上传到HDFS路径下的。(可以是任意的)

 

本地测试后,把jar包打包到集群上运行。_第3张图片

 

G.找主类名:

com.itstar.mr.wc0908.WCDriver 这是个主类名  后面跟hdfs的输入路径,后面跟hdfs的输出路径 

 

本地测试后,把jar包打包到集群上运行。_第4张图片

 

H.正式测试数据, 

 命令:[root@bigdata111 myjar]# hadoop jar hadoop-13-1.0-SNAPSHOT.jar com.itstar.mr.wc0908.WCDriver /mrTest/wordcount.txt /mrTest/out

本地测试后,把jar包打包到集群上运行。_第5张图片

 

I.结果测试成功:

生成的out目录:

本地测试后,把jar包打包到集群上运行。_第6张图片

 

二.出现的错误,分析。

 

这种情况出现的原因:是用了本地路径进行打包后,到集群运行出现的报错

因为linux路径没自己windows的本地路径。

 

本地测试后,把jar包打包到集群上运行。_第7张图片

  

解决办法是:将本地路径,换成args[0],args[1]数组传参模式

然后在进行clean,然后在进行package。

                                                                                                       一定要细心

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(#,MapReduce)