1.打包时指定main  Class信息

注意:默认直接通过maven插件打成jar包中没有指定main class信息,因此在运行mapreduce的jar包时必须在指令后明确main class信息  需要在插件进行配置

 <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<outputDirectory>${basedir}/target</outputDirectory>
<archive>
<manifest>
<!-- 在打包插件中指定main class 信息 -->
<mainClass>com.yt.wordcount.WordCountJob</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>

  执行命令:clean   package

  

2.使用wagon插件实现自动上传至hadoop集群

 <build>
<!--扩展maven的插件中加入ssh插件-->
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.8</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<fromFile>target/test.jar 或者 ${project.build.finalName}.jar</fromFile>
<!--user是用户名 password是密码 -->
<url>scp://user:password@192.168.20.128/root</url>
</configuration>
</plugin>
</plugins>
</build>

  执行命令:打包后直接执行   wagon   upload-single

  

3.使用wagon上传jar完成后远程执行job作业

  wagon配置加入commands命令

 <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<fromFile>target/${project.build.finalName}.jar</fromFile>
<url>scp://root:1@10.15.0.5/root</url>
<commands>
<!-- 通过sh 执行shell脚本文件 -->
<command>nohup hadoop-2.9./bin/hadoop jar hadoop_wordcount-1.0-SNAPSHOT.jar > /root/mapreduce.out >&amp; &amp; </command>
</commands>
<displayCommandOutputs>true</displayCommandOutputs>
</configuration>
</plugin>

  执行命令:clean  package  wagon:upload-single   wagon:sshexec

4.idea简化指令插件下载

  1.每次执行太繁琐,在idea有一个插件可以简化

2.在执行的代码右键

3.添加指令  每个指令以空格分割   点击ok

  4.到这一步基本就完成了   有了这个插件为我们省去了很多步骤

   右键就可以运行了

  

最新文章

  1. Android studio 显示代码行号 设置
  2. ThinkPHP_SQL(1)查询语言
  3. Hello, Android多屏幕版
  4. MyBatis dao层 方法传参
  5. oratop 各个指标项说明
  6. memcached学习笔记1--概念
  7. 三菱plc编程电缆通讯端口设置方法(转载)
  8. Android图片裁剪之自由裁剪
  9. atitit.java方法属性赋值and BeanUtils 1.6.1 .copyProperty的bug
  10. Android中振动器(Vibrator)的使用
  11. Fileupload-1.2.1使用简单样例
  12. 【转】细说new与malloc的10点区别
  13. CentOS 通过yum在线安装MySQL5.7
  14. UFLDL 教程学习笔记(二)反向传导算法
  15. r=a*(1-sinx)
  16. SVN:多版本库环境的搭建
  17. Python之深浅copy与字符编码
  18. Centos7下安装redis实战(单机版以及集群)
  19. 如何把win10系统迁移到SSD固态硬盘
  20. python之高阶函数map/reduce

热门文章

  1. 树状数组(Binary Index Tree)
  2. Oracle中的Union、Union All、Intersect、Minus[转]
  3. Open Source GIS and Freeware GIS Applications
  4. python unittest 框架添加测试用例及运行
  5. java+内存分配及变量存储位置的区别
  6. 小程序加载大图片 使用widthFix时,图片先拉伸然后才显示完全
  7. js如何获取地址栏上的参数id
  8. Mac MAMP 使用终端shell操作mysql数据库
  9. H3C HDLC概述
  10. Python--day44--navicat使用(知道怎么用就好,要用终端操作,用这个会被人鄙视)