编写hadoop程序并打成jar包上传到hadoop集群运行
Posted 秦时明月0515
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写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集群运行的主要内容,如果未能解决你的问题,请参考以下文章
java项目打成jar包并部署到Linux服务器,以及在shell脚本中启动java程序
我爱java系列---idea把实体类打成jar包并上传到私服最详细的教程