MapReduce-自动化运行配置
2024-09-04 21:02:28
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 >& & </command>
</commands>
<displayCommandOutputs>true</displayCommandOutputs>
</configuration>
</plugin>
执行命令:clean package wagon:upload-single wagon:sshexec
4.idea简化指令插件下载
1.每次执行太繁琐,在idea有一个插件可以简化
2.在执行的代码右键
3.添加指令 每个指令以空格分割 点击ok
4.到这一步基本就完成了 有了这个插件为我们省去了很多步骤
右键就可以运行了
最新文章
- Android studio 显示代码行号 设置
- ThinkPHP_SQL(1)查询语言
- Hello, Android多屏幕版
- MyBatis dao层 方法传参
- oratop 各个指标项说明
- memcached学习笔记1--概念
- 三菱plc编程电缆通讯端口设置方法(转载)
- Android图片裁剪之自由裁剪
- atitit.java方法属性赋值and BeanUtils 1.6.1 .copyProperty的bug
- Android中振动器(Vibrator)的使用
- Fileupload-1.2.1使用简单样例
- 【转】细说new与malloc的10点区别
- CentOS 通过yum在线安装MySQL5.7
- UFLDL 教程学习笔记(二)反向传导算法
- r=a*(1-sinx)
- SVN:多版本库环境的搭建
- Python之深浅copy与字符编码
- Centos7下安装redis实战(单机版以及集群)
- 如何把win10系统迁移到SSD固态硬盘
- python之高阶函数map/reduce
热门文章
- 树状数组(Binary Index Tree)
- Oracle中的Union、Union All、Intersect、Minus[转]
- Open Source GIS and Freeware GIS Applications
- python unittest 框架添加测试用例及运行
- java+内存分配及变量存储位置的区别
- 小程序加载大图片 使用widthFix时,图片先拉伸然后才显示完全
- js如何获取地址栏上的参数id
- Mac MAMP 使用终端shell操作mysql数据库
- H3C HDLC概述
- Python--day44--navicat使用(知道怎么用就好,要用终端操作,用这个会被人鄙视)