我是hadoop的新手,我在Hadoop2.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作业之后,我发现日志消息并没有更改为‘starting.’,所以这意味着我对TeraSort.java的更改不会生效。
问题是如何让hadoop获得我构建的新MapReduce-0.0.1.jar。谢谢
发布于 2015-01-07 04:55:02
您必须重新编译和重新构建jar,然后指定不同的输出目录,而不是在第一个作业中。
https://stackoverflow.com/questions/27812489
复制相似问题