Java 命令行模式下编译 MapReduce 程序
来源:互联网 发布:上古卷轴ece捏脸数据 编辑:程序博客网 时间:2024/06/06 06:39
不使用 eclipse 这些工具,直接使用 java 命令在命令行下编译 mapreduce 程序。
首先需要设置CLASSPATH环境变量:
将/root/hadoop/hadoop-0.20.1/hadoop-0.20.1/hadoop-0.20.1-core.jar和lib下的commons-cli-1.2.jar添加进入环境变量,
export CLASSPATH=.:$CLASSPATH:/root/hadoop/hadoop-0.20.1/hadoop-0.20.1/hadoop-0.20.1-core.jar:/root/hadoop/hadoop-0.20.1/hadoop-0.20.1/lib/commons-cli-1.2.jar
这里必须是.jar的路径,而不是上层目录的路径,否则javac编译时找不到相应类,
环境变量设置建议:
(1)不要将.写在环境变量里;
比如在脚本debug.sh中export CLASSPATH=*****,然后CLASSPATH就对后续的命令有效,脚本执行完毕后CLASSPATH还是原来的值。
实例脚本
用途:编译和运行Hadoop应用程序
脚本内容:
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/hadoop-0.20.1-core.jar:$HADOOP_HOME/lib/commons-cli-1.2.jar:$HADOOP_HOME/lib/commons-logging-1.0.4.jar
java WordCountAnalyzer 运行时也需要相应的jar包
注意:编译时需要jar包,运行时也需要jar包,假如将java WordCountAnalyzer 命令放在脚本外运行,则因为CLASSPATH又变回原来的值,则运行会提示错误。
这里的CLASSPATH变量的值的作用域是export 后面的命令
此外我们在编写java程序时,包名最好规范命名,
例如commons-cli-1.2.jar下的包应该命名为
org.apache.commons.cli
org.apache.commons.cli.*等,
这样方便在程序中找到某一个类在哪个jar当中。
- Java 命令行模式下编译 MapReduce 程序
- Java 命令行模式下编译 MapReduce 程序
- 命令行下编译java程序
- 命令行状态下编译Java程序
- 命令行编译MapReduce程序 Hadoop2.X.X
- 命令行下编译Symbian程序
- 命令行下编译wpf程序
- 命令行下编译简单程序
- 命令行模式下编译ActionScript3
- 命令行环境下编译执行java程序步骤
- 在linux命令行下编译执行java程序
- [Debug]Windows下命令行编译java程序,文件组织/问题/解决
- Java程序在命令行下编译运行打Jar包
- 命令行模式下java package的编译与运行
- 在命令行模式下如何编译运行Java代码
- java 命令行编译运行程序
- javac 命令行编译 java程序
- java 命令行 编译 执行程序
- hdu 1575
- Collections Arrays IO(day19)
- android资源集合
- [设计模式笔记]二. 结构型模式--8.Bridge模式(桥模式)(二)
- 函数和对象-用于调试,检查点
- Java 命令行模式下编译 MapReduce 程序
- HDOJ 4717 三分法
- 一种寄生型设计模式在 Swing 应用开发中的实践
- 通过Terracotta实现Tomcat集群(2)
- 关于cannot find -ltcl -ltk的问题
- JAVA学习笔记---类对象排序
- 构造函数与析构函数中抛出异常
- Java学习总结之聊天室项目
- 动态规划(四)--最长公共子序列