命令行编译MapReduce程序 Hadoop2.X.X
来源:互联网 发布:淘宝网卖什么比较畅销 编辑:程序博客网 时间:2024/05/16 11:43
网上的 MapReduce WordCount 教程对于如何编译 WordCount.java 几乎是一笔带过… 而有写到的,大多又是 0.20 等旧版本版本的做法,即 javac -classpath /usr/local/hadoop/hadoop-1.0.1/hadoop-core-1.0.1.jar WordCount.java,但较新的 2.X 版本中,已经没有 hadoop-core*.jar 这个文件,因此编辑和打包自己的 MapReduce 程序与旧版本有所不同。
本文以 Hadoop 2.6.0 环境下的 WordCount 实例来介绍 2.x 版本中如何编辑自己的 MapReduce 程序。
Hadoop 2.x 版本中的依赖 jar
Hadoop 2.x 版本中 jar 不再集中在一个 hadoop-core*.jar 中,而是分成多个 jar,如使用 Hadoop 2.6.0 运行 WordCount 实例至少需要如下三个 jar:
$HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar
实际上,通过命令 hadoop classpath 我们可以得到运行 Hadoop 程序所需的全部 classpath 信息。
编译、打包 Hadoop MapReduce 程序
我们将 Hadoop 的 classhpath 信息添加到 CLASSPATH 变量中,在 ~/.bashrc 中增加如下几行:
export HADOOP_HOME=/usr/local/hadoop
export CLASSPATH=
别忘了执行 source ~/.bashrc 使变量生效,接着就可以通过 javac 命令编译 WordCount.java 了(使用的是 Hadoop 源码中的 WordCount.java,源码在文本最后面):
javac WordCount.java
Shell 命令
编译时会有警告,可以忽略。编译后可以看到生成了几个 .class 文件。
使用Javac编译自己的MapReduce程序
使用Javac编译自己的MapReduce程序
接着把 .class 文件打包成 jar,才能在 Hadoop 中运行:
jar -cvf WordCount.jar ./WordCount*.class
转自:> http://www.powerxing.com/hadoop-build-project-by-shell/
- 命令行编译MapReduce程序 Hadoop2.X.X
- hadoop2.x MapReduce过程
- hadoop2.x MapReduce过程
- 使用命令行编译打包运行MapReduce程序 Hadoop2.7.3
- 配置Hadoop2.x的HDFS、MapReduce来运行WordCount程序
- Hadoop2.x的MapReduce改进
- hadoop2.x源码编译
- 编译hadoop2.x
- centos下编译hadoop2.x
- hadoop2.x编译(一)
- hadoop2.x编译(二)
- hadoop2.x编译(三)
- Hadoop2.X 64位编译
- Hadoop2.X 64位编译
- mahout0.9 hadoop2.x 编译
- hadoop2.x eclipse插件编译
- hadoop2.x配置 - MapReduce相关参数
- hadoop2.x—mapreduce实战和总结
- 使用自己的Linux系统环境搭建MenuOS的过程
- 【暴侃IT圈】我是如何为公众号增加机器人陪聊功能的
- 接口设计
- React - Component Compositon (2)
- 抽象的意义
- 命令行编译MapReduce程序 Hadoop2.X.X
- VC6.0如何创建以及调用动态链接库具体实例
- 剑指offer 27 字符串的排列
- 构造型模式之Abstract Factory(抽象工厂)模式
- js图片自适应宽高
- 线索化二叉树--节点空指针实现过程
- 获取当前activity的屏幕截图
- svd(奇异值分解)
- 关于synchronized以及ReetrantLock、ReentrantReadWriteLock的选择