指定メインクラス1.情報パッケージ
注:デフォルトのjarパッケージには、直接のMavenプラグインによって標識メインクラスの情報を指定していないプラグインで設定するのMapReduceのjarパッケージのメインクラス情報の必要性を実行している間、それは命令の後に明確でなければなりません
1 <ビルド>
2 <プラグイン>
3 <プラグイン>
4 <のgroupId> org.apache.maven.plugins </ groupIdを>
5 <たartifactId>達人-ジャーのプラグイン</たartifactId>
6 <構成>
7 <OUTPUTDIRECTORY> $ { BASEDIR} /ターゲット</ OUTPUTDIRECTORY>
8 <アーカイブ>
9 <マニフェスト>
10 <! -在打包插件中指定メインクラス信息- >
11 <mainClass> com.yt.wordcount.WordCountJob </ mainClass>
12 </マニフェスト>
13 </アーカイブ>
14 </構成>
15 </プラグイン>
16 </プラグイン>
17 </ビルド>
きれいなパッケージ:コマンドを実行します。
2.ワゴンプラグインを自動的にクラスタのHadoopにアップロード
1 <build>
2 <!--扩展maven的插件中加入ssh插件-->
3 <extensions>
4 <extension>
5 <groupId>org.apache.maven.wagon</groupId>
6 <artifactId>wagon-ssh</artifactId>
7 <version>2.8</version>
8 </extension>
9 </extensions>
10 <plugins>
11 <plugin>
12 <groupId>org.codehaus.mojo</groupId>
13 <artifactId>wagon-maven-plugin</artifactId>
14 <version>1.0</version>
15 <configuration>
16 <fromFile>target/test.jar 或者 ${project.build.finalName}.jar</fromFile>
17 <!--user是用户名 password是密码 -->
18 <url>scp://user:[email protected]/root</url>
19 </configuration>
20 </plugin>
21 </plugins>
22 </build>
执行命令:打包后直接执行 wagon upload-single
3.使用wagon上传jar完成后远程执行job作业
wagon配置加入commands命令
1 <plugin>
2 <groupId>org.codehaus.mojo</groupId>
3 <artifactId>wagon-maven-plugin</artifactId>
4 <version>1.0</version>
5 <configuration>
6 <fromFile>target/${project.build.finalName}.jar</fromFile>
7 <url>scp://root:[email protected]/root</url>
8 <commands>
9 <!-- 通过sh 执行shell脚本文件 -->
10 <command>nohup hadoop-2.9.2/bin/hadoop jar hadoop_wordcount-1.0-SNAPSHOT.jar > /root/mapreduce.out 2>&1 & </command>
11 </commands>
12 <displayCommandOutputs>true</displayCommandOutputs>
13 </configuration>
14 </plugin>
执行命令:clean package wagon:upload-single wagon:sshexec
4.idea简化指令插件下载
1.每次执行太繁琐,在idea有一个插件可以简化
2.在执行的代码右键
3.添加指令 每个指令以空格分割 点击ok
4.到这一步基本就完成了 有了这个插件为我们省去了很多步骤
右键就可以运行了