如何制作' hadoop jar'命令获取同一个命名jar的新构建

时间:2015-01-07 04:40:22

标签: java hadoop

我是hadoop的新手,我在hadoop 2.6.0中尝试了它的例子 首先,我重新编译了 hadoop-mapreduce-examples-2.6.0.jar 的源代码并构建了一个新的jar文件 MapReduce-0.0.1.jar

然后我用这个命令行运行了terasort示例

jjin:hadoop$ bin/hadoop jar ~/shared/MapReduce-0.0.1.jar terasort /input /output
15/01/07 12:27:44 INFO terasort.TeraSort: starting
15/01/07 12:27:46 INFO input.FileInputFormat: Total input paths to process : 1
...

terasort完成后,我通过修改这样的第一行日志消息更新了TeraSort.java的来源

public int run(String[] args) throws Exception {
LOG.info("starting..."); 
// Update log message by adding '...' to the end of previous one.
Job job = Job.getInstance(getConf());

但重新运行此terasort作业后,我发现日志消息未更改为“正在开始...”,因此这意味着我对TeraSort.java所做的更改不会生效。< / p>

问题是如何让hadoop选择我构建的新 MapReduce-0.0.1.jar 。 感谢

1 个答案:

答案 0 :(得分:0)

您必须重新编译并重新构建jar,然后指定除第一个作业之外的其他输出目录。