如果我通过Mapper和Reducer中的stdout(Java中为System.out)和stderr(Java中的System.err)输出一些消息,我在任务跟踪器节点的哪里可以看到它们?我想目录位置也可以通过一些参数进行配置?
这可能取决于您使用的发行版,但通过我们的cdh3设置,我们可以在运行任务的节点上的/usr/lib/hadoop-0.20/logs/userlogs/下找到它们。例如,stderr将位于以下位置:
/usr/lib/hadoop-0.20/logs/userlogs/job_201207010432_5284/attempt_201207010432_5284_m_000214_0/stderr
如果你可以访问集群的作业跟踪器UI,你也可以通过那里访问它们(这是我通常做的)。