日志未出现在控制台中:( [Hadoop问题]

时间:2010-12-09 19:02:32

标签: hadoop mapreduce cloudera

我正在尝试调试 Cloudera Hadoop 的WordCount示例,但我不能。我已经记录了映射器和reducer类,但是在控制台中没有出现日志。

我附上图片。 在第一张图片中,Java日志。

在第二个图像中,结果记录。它不会出现第一个:( http://i56.tinypic.com/2eztkli.png

有谁知道?非常感谢!!

3 个答案:

答案 0 :(得分:2)

您正在使用“hadoop jar ...”,因此您使用实际的Hadoop集群(可能是单个节点)开始工作。

这意味着所有日志记录都由群集完成,而不是在控制台上完成。 您在控制台上看到的内容基本上只是一个进度指示器。

您的工作分为一个或多个地图任务和一个或多个减少任务。这些任务中的每一个都是一个单独的java进程,并且将具有单独的日志记录(由几个文件组成)。

您应该在$ HADOOP_LOG_DIR / userlogs

中找到这些日志文件

因为许多事情是并行完成的,所以不要让这些日志文件成为“一个”巨大的日志文件。这将成为无用的混乱。

现在学习和开发hadoop应用程序有一个更简单的方法:只需将其作为普通的Java应用程序启动,只需在本地模式下运行应用程序:java -jar ...

答案 1 :(得分:1)

哦,这是一个简单的修复。使用System.out.println(),然后查看jobtracker的HTML界面。转到已执行Map或Reduce的任务,其中一个包含println,然后如果您继续执行该任务的日志报告,您将在那里找到您的输出。

答案 2 :(得分:0)

如果要在控制台中显示信息,请执行System.out.println(“blah”);在你的Java作业中,它运行良好,特别是在传递参数时(例如,如果参数使用错误),并且在jar中只做一个单独的工作,等等。通过Hadoop日志进行筛选对于向控制台进行调整是非常繁琐的。正在做实事。