编写hadoop程序并打成jar包上传到hadoop集群运行
准备工作:
1. hadoop集群(我用的是hadoop-2.7.3版本),这里hadoop有两种:1是编译好的hadoop-2.7.3;2是源代码hadoop-2.7.3-src;
2. 自己的机器可以是任何系统,只要支持JVM,自己的主机上必须有eclipse,以及hadoop-2.7.3和hadoop-2.7.3-src。(我用的是windows系统,为了方便Linux系统传输数据,我选用了FileZilla,一款ftp工具,具体见www.cnblogs.com/NongSi-Net/p/6744321.html; 如果是linux系统,可以用ssh,ssh能实现 linux系统相互传输数据)
开始:
1. 打开eclipse,点击File -> New -> Java Project
2. 编写Hadoop程序。这里我们以hadoop本身自带的WordCount.java为例,在hadoop-2.7.3-src\hadoop-mapreduce-project\hadoop-mapreduce-examples\src\main\java\org\apache\hadoop\examples\WordCount.java。
把WordCount.java复制到WC的src里面。它会显示错误。删除package org.apache.hadoop.examples; 保存
结果还是报错。解决办法如3,引入所需jar包。
3. 右键WC项目,Build Path -> Configure Bulid Path... -> Libraries -> Add External Jars... 添加所需jar包。hadoop编程所需的jar包在hadoop-2.7.3\share\hadoop\下的文件的下一层的jar包(如果有的话),以及hadoop-2.7.3\share\hadoop\common\lib的里的jar包。
然后就没有错误了。
4. 打jar包。右键WC项目,Export -> Java -> JAR file
5. 上传到hadoop集群。(其中windows<->linux交互,用ftp工具FileZilla。linux<->linux交互,用ssh)
6. 在hadoop集群中,在上传的hadoop节点上,运行我们编写的hadoop程序:
hadoop jar wc.jar WordCount zc/input/ zc/output
(还可以看一下另外不同的方式,这种方式需要本机部署好hadoop: eclipse想要开发Hadoop程序,还要引入一个jar包,在 eclipse/plugins/下引入hadoop-eclipse-plugin-2.7.2.jar, 没有找到hadoop-eclipse-plugin-2.7.3.jar. 参考Linux下使用Eclipse开发Hadoop应用程序)
编写hadoop程序并打成jar包上传到hadoop集群运行的更多相关文章
- 用eclipse怎样将本地的项目打成jar包上传到maven仓库
使用maven的项目中,有时需要把本地的项目打成jar包上传到mevan仓库. 操作如下: 前提:pom文件中配置好远程库的地址,否则会报错 1.将maven 中的settings文件配置好用户名和密 ...
- IDEA如何将写好的java类(UDF函数)打成jar包上传linux
一.编写一个UDF函数,实现将字符串大写转小写 import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.hadoop.io.Text; ...
- Apache Flink任意Jar包上传导致远程代码执行漏洞复现
0x00 简介 Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎.Flink以数据并行和流水线方式执行任意流数据程序,Fl ...
- Maven中安装本地Jar包到仓库中或将本地jar包上传
摘要 maven install 本地jar 命令格式 mvn install:install-file -DgroupId=<group_name> -DartifactId=<a ...
- maven jar包上传到服务器
maven jar包上传到服务器时出现pom文件没有上传上去,致使该jar包再被使用的时候没有依赖,jar包调用出错 解决办法,将pom文件一起deploy上去 mvn deploy:deploy-f ...
- nexus搭建maven私服及私服jar包上传和下载
nexus搭建maven私服及私服jar包上传和下载 标签: nexus管理maven库snapshot 2017-06-28 13:02 844人阅读 评论(0) 收藏 举报 分类: Maven(1 ...
- 构建自己的jar包上传至Mvaen中央仓库和版本更新
构建自己的jar包上传至Mvaen中央仓库和版本更新 一直羡慕别人制造轮子,开源项目,供别人使用:我也想这样,可以自己才疏学浅,本次就将自己写小工具上传到Maven的中央仓库. 一步一步详细教程演示如 ...
- Apache Flink Dashboard未授权访问导致任意Jar包上传漏洞
漏洞危害 攻击者无需Flink Dashboard认证,通过上传恶意jar包 csdn-[漏洞复现]Apache Flink任意Jar包上传导致远程代码执行 freebuf-Apache Flink ...
- MapReduce中使用SequenceFile的方式上传文件到集群中
如果有很多的小文件,上传到HDFS集群,每个文件都会对应一个block块,一个block块的大小默认是128M,对于很多的小文件来说占用了非常多的block数量,就会影响到内存的消耗, MapRedu ...
随机推荐
- IO 函数
http://www.cnblogs.com/orange1438/p/4613460.html
- 切换横屏幕 onCreate 多次执行问题
在AndroidManifest.xml 中activity 中添加 android:configChanges="orientation|screenSize|smallestScreen ...
- js可以控制文件上传的速度吗?
为了减轻服务器负载,对于上传和下载的情况,我们需要进行流量控制,一般的方法是服务端做限流举措,比如很多ftp服务器,但是我想是不是可以使用前端js做呢? 顺着这个想法,我查了下资料,目前来看结论是No ...
- python的websocket实现Tornado
1.使用flask的扩展: pip install flask-socketio 2.Tornado提供较好的ws(websocket)支持 参考:1.http://www.jianshu.com/p ...
- 仿MIUI音量变化环形进度条实现
Android中使用环形进度条的业务场景事实上蛮多的,比方下载文件的时候使用环形进度条.会给用户眼前一亮的感觉:再比方我大爱的MIUI系统,它的音量进度条就是使用环形进度条,尽显小米"为发烧 ...
- 线程池ThreadPoolExecutor分析
线程池.线程池是什么,说究竟,线程池是处理多线程的一种形式,管理线程的创建,任务的运行,避免了无限创建新的线程带来的资源消耗,可以提高应用的性能.非常多相关操作都是离不开的线程池的,比方android ...
- 翻译:A Tutorial on the Device Tree (Zynq) -- Part IV
获取资源信息 内核模块驱动加载之后,就开始把硬件资源管理起来,如读写寄存器.接收中断. 来看看设备树里的一条: xillybus_0: xillybus@50000000 { compatible = ...
- centos笔记-安装特定版本的mysql
centos6的yum默认安装的mysql是5.1版, 如果要安装5.6.16 版,有三个办法 1.yum方式, 这个方式的好处是通过yum安装卸载都很方便,坏处是版本无法详细制定,比如官方版本yum ...
- Multitier architecture
Multitier architecture - Wikipedia https://en.wikipedia.org/wiki/Multitier_architecture Common layer ...
- 无节操cocos2d-js游戏
1. <看谁抽得快> 2. <拍苍蝇> 3. <月饼达人> 4. <亲吻小游戏> 下面这些是本人做的,需要源代码的可以回复我 ps:全部采 ...